使用最近日期更新JOINED表

时间:2017-07-18 15:54:06

标签: sql sql-server constructor sql-update

所以我很难过。我有两张桌子,我正在加入并更新其中一张桌子。现在,我想用 MOST RECENT 数据记录更新它。

所以我希望首先发生这种情况(这个顺序):

false

紧随此更新:

select * from APUL 
order by UIMth desc

所以基本上我想用APUL的最新记录更新表APUI,因为APUL是发票记录表。

1 个答案:

答案 0 :(得分:1)

使用Row_Number窗口函数

;WITH CTE
     AS (SELECT Row_number() OVER(partition BY uiseq, apco ORDER BY uimth DESC ) AS rn, 
                reviewergroup, 
                uiseq, 
                apco 
         FROM   apul) 
UPDATE A 
SET    A.udtempreviewer = L.reviewergroup 
FROM   apui A 
       INNER JOIN CTE L 
               ON A.uiseq = L.uiseq 
                  AND A.apco = L.apco 
Where L.Rn = 1