Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用最新日期更新联接表_Sql_Sql Server_Constructor_Sql Update - Fatal编程技术网

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-现在检查…伙计,试着调试一下。。这些都是简单的错误