问题是它确实返回了一行。
事情是这样的。
SELECT...
FROM...
WHERE...
GROUP BY...
HAVING randomNumber > (SELECT value FROM.....)
每当我有诸如 =、> 之类的符号时,它总是会返回此错误。当我做 IN 它没有。
与另一个表进行比较时,您不应该使用比较符号吗?
最佳答案
当你输入:
SomeValue IN (SELECT ...)
它相当于使用:
SomeValue = ANY (SELECT ...)
不要使用第二个符号 - 但它说明了一点。当 SELECT 返回多个值时,您必须将 ANY 或 ALL 与比较器一起使用。当您省略 ANY 或 ALL 时,您必须有一个只返回一个值的 SELECT。
关于SQL : ERROR: more than one row returned by a subquery used as an expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3848679/