2016-05-23 60 views
2

我有三张表(收据,receiptaddinfo,商店)。我有选择,这给了我一个数据与自申报日起所有从所有的商店收据:Oracle - 检查日期范围内是否有数据

select * 
from receipts r 
join receipt receiptaddinfo ri on r.receiptid=ri.receiptid and r.shop=ri.shop 
join shops s on ri.shop=s.shop and shoptype=0 
where ri.creationtime >= '2016-05-19 00:00:00' 
order by ri.creationtime desc 

表店,包含所有的商店,但是,我要检查,如果有一家店,其中有自宣布日期以来没有“销售/收据”。有人可以帮忙吗?

回答

1

你可以试试下面的SQL语句。

SELECT * from shops s 
WHERE s.shoptype = 0 
AND NOT EXISTS 
(SELECT 1 
FROM receipts r, 
     receiptaddinfo ri 
WHERE r.receiptid = ri.receiptid 
AND r.shop = ri.shop 
AND ri.shop = s.shop 
AND ri.creationtime >= '2016-05-19 00:00:00') 
+0

非常感谢,这给了我想要的东西。 – headder

相关问题