我有两个查询,query1和query2。我想要做的是,如果返回的query1行为空,则返回query2。是否可以单独使用基本SQL查询?他们有相同的返回列btw,但不同的表源。
例如:
QUERY1:
SELECT name, message
FROM table1
QUERY2:
SELECT name, message
FROM table 2
如果query1为空,则返回name2,来自query2的消息。
答案 0 :(得分:3)
如果不为空,这将从table1中选择,否则从table2中选择:
SELECT * FROM table1
WHERE EXISTS (select * from table1)
UNION ALL
SELECT * FROM table2
WHERE NOT EXISTS (select * from table1)
检查table1是否没有行:
EXISTS (SELECT * FROM TABLE)
答案 1 :(得分:0)
在这里找到答案:https://stackoverflow.com/a/25122516/3747493
基本上:
SELECT *
FROM table1
UNION ALL
SELECT *
FROM table2
WHERE (SELECT COUNT(*) FROM table1) = 0
谢谢你们!