SQL:错误:用作表达式的子查询返回的多行

AnE*_*zon 7 sql

问题是它确实返回一行.

这就是事情.

SELECT...

FROM...

WHERE...

GROUP BY...

HAVING randomNumber > (SELECT value FROM.....)
Run Code Online (Sandbox Code Playgroud)

每当我有=,>等标志时,它总会给我这个错误.当我做IN它没有.

在与另一张桌子比较时,你不应该使用比较标志吗?

Jon*_*ler 8

键入时:

SomeValue IN (SELECT ...)
Run Code Online (Sandbox Code Playgroud)

它相当于使用:

SomeValue = ANY (SELECT ...)
Run Code Online (Sandbox Code Playgroud)

不要使用第二种表示法 - 但它说明了一点.当SELECT返回多个值时,必须对比较器使用ANY或ALL.省略ANY或ALL时,必须有一个只返回一个值的SELECT.