这是我的 table :
id id_1 camp
1 0 x1
2 0 x2
3 0 x3
4 1 x4
5 1 x5
6 1 x6
7 3 x7
8 3 x8
9 3 x9
我需要一个 SQL,如果没有 id_1
为“x”的行,它应该返回 id_1
为 0 的行。例如,如果我选择 id_1
= 2,它将返回 select * where
id_1= 0
。
这可以在一个语句中完成吗?我在使用 IF EXISTS 或 CASE 时运气不佳。语法...
一如既往的感谢
最佳答案
SELECT SQL_CALC_FOUND_ROWS id, id_1, camp
FROM your_table
WHERE id_1 = 2
UNION ALL
SELECT id, id_1, camp
FROM your_table
WHERE
FOUND_ROWS() = 0 AND id_1 = 0;
关于mysql - 如果第一个 SELECT 返回一个空集,则另一个 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4062313/