UPDATE Sql不能在集合中聚合

时间:2016-10-03 03:25:48

标签: sql sql-server

这个错误的解决方法是什么:

  

聚合可能不会出现在UPDATE语句的集合列表中。

我看了几个例子,但不太确定。

这就是我现在所拥有的:

 UPDATE UserAnswer 
 SET userId = (SELECT id FROM Users WHERE id=max(id)) 
 WHERE userId = NULL

3 个答案:

答案 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;