Sql 使用最新日期更新联接表
所以我被难住了。我有两个表,我正在合并并更新其中一个。现在,我想用最新的数据记录来更新它 因此,我希望在这个顺序中首先发生:Sql 使用最新日期更新联接表,sql,sql-server,constructor,sql-update,Sql,Sql Server,Constructor,Sql Update,所以我被难住了。我有两个表,我正在合并并更新其中一个。现在,我想用最新的数据记录来更新它 因此,我希望在这个顺序中首先发生: select * from APUL order by UIMth desc 随后是此更新: UPDATE APUI SET APUI.udTempReviewer = APUL.ReviewerGroup FROM APUI INNER JOIN APUL ON APUI.UISeq = APUL.UISeq AN
select * from APUL
order by UIMth desc
随后是此更新:
UPDATE APUI
SET APUI.udTempReviewer = APUL.ReviewerGroup
FROM APUI
INNER JOIN APUL ON APUI.UISeq = APUL.UISeq
AND APUI.APCo = APUL.APCo
所以基本上我想用APUL的最新记录更新表APUI,因为APUL是一个发票记录表 使用行数窗口功能
;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
请显示这些表的一些示例数据。您是否正在尝试为每条记录使用APUL的最新记录进行APUI?或者你只对最近的APUL记录感兴趣,周期?我把这个和CTE放在哪里?比如在查询中的什么地方?@MattGordon-这是一个单一的查询。。你什么都不必做,没用的。L.apco没有调出任何东西,并且抛出了一个错误。另外,不要缩写表名。它是pathetic@MattGordon-现在检查…伙计,试着调试一下。。这些都是简单的错误