我当前正在尝试执行一种SQL查询,该查询可以检测SELECT查询是否未返回任何内容,然后再进行另一种查询(如果是这种情况)。
这是我的意思:
IF SELECT * FROM table WHERE criteria = criteria RETURNS NO ROWS
THEN SELECT * FROM table WHERE criteria2 = criteria2
这可能吗?我认为空的答复不算作“空”,因此我对此有些麻烦。
最佳答案
假设各列相同,则可以在一条语句中执行此操作:
SELECT *
FROM table
WHERE criteria = criteria
UNION ALL
SELECT *
FROM table
WHERE criteria2 = criteria2 AND
NOT EXISTS (SELECT 1 FROM table WHERE criteria = criteria);
关于SQL-如果Select不返回任何内容,则执行另一个Select,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42089781/