这个错误的解决方法是什么:
聚合可能不会出现在UPDATE语句的集合列表中。
我看了几个例子,但不太确定。
这就是我现在所拥有的:
UPDATE UserAnswer
SET userId = (SELECT id FROM Users WHERE id=max(id))
WHERE userId = NULL
答案 0 :(得分:3)
这可以解决问题,您需要在选择列表中设置最大值。
UPDATE UserAnswer
SET userId = (SELECT Max(id) FROM Users)
WHERE userId is NULL
答案 1 :(得分:1)
您可以尝试 MAX 或排序:
<强> MAX:强>
isinstance(elm, str)
排序方式:
UPDATE UserAnswer
SET userId = (SELECT MAX(id) FROM Users)
WHERE userId = NULL
答案 2 :(得分:0)
尝试使用变量,如下所示:
DECLARE @maxId INT;
SELECT @maxId = MAX(id)
FROM Users;
UPDATE UserAnswer
SET userId = @maxId
WHERE userId IS NULL;