我试图通过与其他两个表联接来更新表,但是我需要按更新表的ID进行分组,例如:
UPDATE T1
SET T1.AForeignID = T3.ID
FROM TableOne T1
LEFT JOIN TableTwo T2 ON T2.ID = T1.BForeignID
LEFT JOIN TableThree T3 ON T3.Code = T2.Code AND T3.ACode = T1.ACode
GROUP BY T1.ID
但是我不能使用GROUP BY,它显示了一个错误。
答案 0 :(得分:1)
没有聚合功能(最小(),最大(),计数()),就无法使用分组依据。
GROUP BY子句定义用于执行聚合的列
UPDATE T1
FROM TableOne T1
LEFT JOIN TableTwo T2 ON T2.ID = T1.BForeignID
LEFT JOIN TableThree T3 ON T3.Code = T2.Code AND T3.ACode = T1.ACode
SET T1.AForeignID = T3.ID
并且使用join进行的更新应使用UPDATE .. FROM .. JOIN语法
..