在这里遇到麻烦。
表1:
CID, Name, HID
(001-233, Test1, 12345)
表2:
CID, Name, HID, Primary
(001-233, Test1, 12345, '')
想要更新Table2
与Table1
一起存在且名为'Y'
UPDATE T2 SET T2.Primary = 'Y'
FROM T2
INNER JOIN T1
ON (T1.CID = T2.CID
AND T1.HID = T2.HID)
所以声明如下:
WHERE IN
这个语句最终会更新所有行,就像它只在一个id而不是另一个id上进行连接一样?我终于放弃并通过连接两个ide字段CID + HID来做一个带有单个“id”的Table1
子查询。但是我想知道为什么使用正确的连接不起作用。
{{1}}是CTE ..
答案 0 :(得分:0)
update t2
set (t2.primary) = (select 'Y' from t1 where T1.CID = T2.CID AND T1.HID = T2.HID)