我无法获取SQL查询以返回我需要的数据。我想要做的是获取表中缺少的所有记录。因此,如果我有记录:92401, 92402, 92404, 92406
我希望查询返回92403, 92405
。
这是我现在正在尝试使用的查询:
select TicketNum
from Tickets
where not exists(select TicketNum
from TicketBooks
where TicketBooks.TicketNum=Tickets.TicketNum)
目前,这将不会返回任何数据。如果我将where子句更改为exists
,那么它将返回表中的所有记录。
92403, 92405
中不存在值Tickets
,但它们存在于TicketBooks
中。
有关如何修改查询以显示此类结果的任何建议?
答案 0 :(得分:2)
值92403,92405不存在于故障单中,但它们存在 在TicketBooks。
所以你想检查相反的结果:
SELECT TicketNum FROM TicketBooks
WHERE NOT EXISTS
(
SELECT 1 FROM Tickets WHERE Tickets.TicketNum = TicketBooks.TicketNum
)