【发布时间】:2011-12-13 14:44:50
【问题描述】:
我收到一个错误:#1242 - 运行此 sql 时子查询返回多于 1 行。
CREATE VIEW test
AS
SELECT cc_name,
COUNT() AS total,
(SELECT COUNT(*)
FROM bed
WHERE respatient_id > 0
GROUP BY cc_name) AS occupied_beds,
(SELECT COUNT(*)
FROM bed
WHERE respatient_id IS NULL
GROUP BY cc_name) AS free_beds
FROM bed
GROUP BY cc_name;
【问题讨论】:
-
@Ken White:使用相同的标签/错误消息并不意味着这些是重复的。
-
第二个是,包括与
COUNT相关的问题。四个中的三个解释了错误的含义,这应该导致发布者自己弄清楚。 (就像阅读实际的错误消息一样,查看查询并思考“嗯。两种可能性,因为有两个子查询。也许我应该单独运行它们以查看它们是否返回多行,然后我可以尝试弄清楚那个部分或专门询问它。” -
@Ken White:标签信息本身解释了行为;)这就是问题的重点,所以有很多示例/示例......
-
:) 明白了。关键是提问者显然完全没有努力自己解决问题。一个简单的搜索就会出现其他 4 个问题,这应该引导他们寻找方向。 SO 是一个很好的资源,但它不应该是解决所有问题的 first 手段。您至少应该先尝试自己解决它,然后看看其他人是否有,然后然后在这里提出一个新问题。我看不到“我试过”或“我搜索过,但其他答案没有帮助,因为”。相反,我看到“我收到一条错误消息。告诉我如何解决它。这是我的代码。” :)
标签: mysql sql mysql-error-1242