分组后查询最新的一条数据 返回

SqlSugar
3 135
SELECT *
FROM dbo.HR_EmpChangeRecord a
    INNER JOIN dbo.HR_EmpChangeRecordDetail b
        ON a.RecordId = b.RecordId
WHERE a.RecordId IN
      (
          SELECT temp.RecordId
          FROM
          (
              SELECT *,
                     ROW_NUMBER() OVER (PARTITION BY EmployeeId ORDER BY ChangeDate DESC) AS rank
              FROM [HR_EmpChangeRecord]
          ) temp
          WHERE rank = 1
      );

 分组获取最新的一条数据后,进行多表查询,这个怎么用sqlsugar写啊~~

热忱回答3

  • fate sta fate sta VIP0
    1个月前

    分2步写吧

    0 回复
  • fate sta fate sta VIP0
    1个月前
     IN
          (
              SELECT temp.RecordId
              FROM
              (
                  SELECT *,
                         ROW_NUMBER() OVER (PARTITION BY EmployeeId ORDER BY ChangeDate DESCAS rank
                  FROM [HR_EmpChangeRecord]
              temp
              WHERE rank = 1
          );

    这块单独用一个queryable查出ID集合

    0 回复
  • @fate sta:好的,我先就这样写了,想看看能不能整合一起

    0 回复