我有一个从两个不同连接中选择数据的查询
select count (*) from table1
where condition1 = 'answer1'
and time >= sysdate - interval '5' minute
UNION ALL
select count (*) from table2
where condition2 = 'answer2'
AND NOT EXISTS (
select * from table1
where condition = 'answer'
and time >= sysdate - interval '5' minute
);
我的问题是,即使table1中没有数据,table2select也根本不起作用。
有谁能帮我把它弄出来,或者知道另一种写查询的方法吗?
其思想是,如果选择计数返回0,则从不同的表中执行另一次选择
我试着用谷歌搜索,甚至潜伏在这里,但仍然没有得到任何答案
1条答案
按热度按时间nkkqxpd91#
如果
table2
在NOT EXISTS
子句中没有以某种方式连接到table1
,则它将永远不会返回数据,因为只要查询返回的内容就存在。如果您没有将
table2
链接到table1
的方法,可以将其用作not exists中的连接,您可以执行以下操作