gpt4 book ai didi

mysql - 如何在 MySQL 中测试子查询并返回第一个非空结果?

转载 作者:行者123 更新时间:2023-11-30 00:05:03 26 4
gpt4 key购买 nike

我有许多包含多个列的查询,我想运行一个查询来按顺序测试它们,直到一个子查询返回结果。我发现 COALESCE 语句只允许您使用并返回每个子查询的单个列,这不适用于我的数据集:

subquery1 = SELECT col1, col2, col3 FROM table1 WHERE x = y
subquery2 = SELECT col2, col4, col7 FROM table2 WHERE t = p
subquery3 = SELECT col5, col8, col9 FROM table3 WHERE v = b

是否可以按顺序测试每个查询,直到其中一个查询返回行?

最佳答案

SELECT  1 AS o, col1, col2, col3
FROM table1
WHERE x = y
UNION ALL
SELECT 2 AS o, col2, col4, col7
FROM table2
WHERE t = p
UNION ALL
SELECT 3 AS o, col5, col8, col9
FROM table3
WHERE v = b
ORDER BY
o
LIMIT 1

关于mysql - 如何在 MySQL 中测试子查询并返回第一个非空结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24639098/

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