gpt4 book ai didi

Mysql子查询返回Subquery returns more more than 1 row错误

转载 作者:行者123 更新时间:2023-11-29 13:17:03 25 4
gpt4 key购买 nike

假设我有一个表和一些如下所示的值。

  -----------------------------------------
| col1 | col2 | col3 | col4 | col5 |
---------|------|-------|-------|--------
| 6171368 | 1 | TEST | 12053 | 123456 |
-----------------------------------------
| 6171368 | 2 | ABCD | QWERT | |
-----------------------------------------

我想要做的是,如果 col5 的值为空,我需要获取 1 行的 col5 的值,而不使用 where 条件排除 where col2 = 2. .当我尝试查询时,我收到一条错误消息

1242 - Subquery returns more than 1 row

我的查询是

SELECT col1,col2,col3,col4, 
if (col5 IS NULL or col5 = '' ,
(
select col5 from table
where col2 = 1
group by col1
),'') as col5

最佳答案

您需要一个相关子查询来获取该行的有效值 col5(假设您有多于一行)。

SELECT col1, col2, col3, col4, 
(case when col5 IS NULL
then (select col5
from table t2
where t2.col1 = t.col1 and
t2.col5 is not null
limit 1
)
end) as col5
from table t;

关于Mysql子查询返回Subquery returns more more than 1 row错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21331930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com