SQL : ERROR: more than one row returned by a subquery used as an expression

标签 sql

问题是它确实返回了一行。

事情是这样的。

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/

相关文章:

php - PDO 连接字符串 : What is the best way to do it?

mysql - 从所有列的结尾和开头删除非字母数字字符

sql - 如何在 Informix 4gl 中引用 TEXT 类型?

php - 安装表并防止 2 列的重复输入

mysql - 将两个相似的行合并为一个新列

php - MySQL 搜索超过允许限制的并发时间戳,然后计算 SUM?

php - JOIN 中重复的 SQL 结果 - Codeigniter

sql - 如何在 Ruby on Rails 迁移中使用 'gaps' 修复列的​​顺序

sql - 如何使用 SQLite FTS3 匹配表中的多个列?

c# - 抛出类型为 'System.OutOfMemoryException' 的异常。使用 IDataReader 时的 C#