第一次查询
该查询工作正常,引擎没有抱怨
SELECT id
FROM agencies
WHERE id IN ((SELECT id FROM agencies))
ORDER BY id;
第二查询
这是行不通的,引擎在抱怨Subquery returns more than 1 row
,当-根据我-当我在做完全相同的事情时@param_1 IS NULL
SELECT
@param_1 := NULL,
SELECT id
FROM agencies
WHERE id IN (CASE WHEN @param_1 IS NULL THEN (SELECT id FROM agencies) ELSE 1 END )
ORDER BY id;
有人看到引擎为什么对第一个查询不满意时抱怨第二个查询吗?
提前致谢,
CASE期望标量单一值。没有记录集。
SELECT id
FROM agencies
WHERE id IN (
SELECT id FROM agencies WHERE @param_1 IS NULL
UNION ALL
SELECT 1 WHERE @param_1 IS NOT NULL
)
ORDER BY id;
或者
SELECT id
FROM agencies
WHERE id IN (SELECT id FROM agencies)
AND @param_1 IS NULL
UNION ALL
SELECT id
FROM agencies
WHERE @param_1 IS NOT NULL AND id = 1
ORDER BY id;
另一种选择是使用IF
IF @param_1 IS NULL
SELECT id
FROM agencies
WHERE id IN (SELECT id FROM agencies)
ORDER BY id;
ELSE
SELECT id
FROM agencies
WHERE id = 1
ORDER BY id;
问题内容: 我正在执行此查询: 我正在尝试使其返回如下内容: 但是,我得到了错误: #1242-子查询返回的行数超过1。 我尝试将语句放置在子查询中,但是收到无效的语法错误。 问题答案: 您可以使用简单的分组方式在没有子查询的情况下进行尝试: 使用GROUP BY时,未分组的任何列都必须具有聚合子句(fe SUM或COUNT。)因此,在这种情况下,您必须对县名称,precienct.id和prec
当“事件ID”与“用户ID”匹配时,im会尝试从我的“事件”表中选择所有数据。然而,我得到一个错误1242,子查询返回超过1行。 我理解我的子查询将返回多行,因为一个用户可以参加多个事件。那么我如何使我的查询接受多行呢?
问题内容: 桌子: 我的查询: 我收到“ MySQL子查询返回多个行”错误。 我知道此查询可以使用以下查询的解决方法: 然后使用php循环遍历结果并执行以下查询以获取和回显它: 但是我认为可能会有更好的解决方案? 问题答案: 简单的解决方法是在子查询中添加一个子句: 一个更好的选择(就性能而言)是使用联接:
我不知道当我在Mysql中运行查询时,会出现此错误。 #1242-子查询返回超过1行 谁能帮我解决这个问题?
问题内容: 以下查询应返回从动漫中扮演角色的人物的姓名。但我收到以下错误: Blockquote ORA-01427:单行子查询返回多个行 提前致谢! 问题答案: 代替 使用 查询中有5个条件需要更改。 UPD 另外,您的查询等同于
子查询返回超过1行?? 下表是我想要达到的目标 这就是为什么我认为我需要使用group by来区分user_id 我已经看过了 子查询返回超过1行-MySQL 子查询返回的行数是否超过1行? 但还是不明白。 通过连接两个不同的表,我得到了下表。 谁能帮我解决这个问题?