更新按日期分组的所有行,其中两个条件匹配 - SQL Server 2016

时间:2017-11-20 02:45:26

标签: sql-server

我有一个包含以下数据的临时表:

Example Data

例如,WV1列需要更新为共享相同日期的所有行的部门值;

WV1 = 19176 for all 2017-11-08 00:00:00.000 rows
WV1 = 18067 for all 2017-11-06 00:00:00.000 rows

如果没有215代码,WV1列可能保持为NULL但是对我的目的无关紧要,我无法创建其他临时表,这意味着我只限于CTE或子查询,谢谢提前寻求帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用CTE使用以下内容:

;WITH CTE AS 
(SELECT IDNO, [DATE], DEPARTMENT
FROM #TAB
WHERE CODE = 215
)
UPDATE T
SET WV1 = C.DEPARTMENT
FROM #TAB T
JOIN CTE C ON C.IDNO = T.IDNO AND C.[DATE] = T.[DATE]

感谢。