我想更新多条记录,但是设置的值基于给定记录的主键。这不是单个记录的问题,因为我可以使用:
UPDATE T1
SET A1 = (SELECT TOP 1 X FROM T2 WHERE Y = ID1)
WHERE A2 = ID1
Run Code Online (Sandbox Code Playgroud)
IN 运算符适用于 WHERE 子句,因为它会更新正确的列表,但不会在子查询中更新。在 SET 中,它将从 ID 列表中的所有值中获取前 1 个值,我只希望它用于相应的记录/ID。
使用:Microsoft T-SQL
谢谢你