查找表-SQL中不存在的所有项
我很难让我的SQL查询返回我需要的数据。我想做的是从一个表中找出所有丢失的记录。因此,如果我有记录:查找表-SQL中不存在的所有项,sql,sql-server,Sql,Sql Server,我很难让我的SQL查询返回我需要的数据。我想做的是从一个表中找出所有丢失的记录。因此,如果我有记录:92401924029240492406我希望查询返回9240392405 这是我正在尝试使用的查询: select TicketNum from Tickets where not exists(select TicketNum from TicketBooks where TicketBooks.TicketNum=Tickets.Ticke
92401924029240492406
我希望查询返回9240392405
这是我正在尝试使用的查询:
select TicketNum
from Tickets
where not exists(select TicketNum
from TicketBooks
where TicketBooks.TicketNum=Tickets.TicketNum)
目前,这将不会返回任何数据。如果我将where子句更改为justexists
,那么它将返回表中的所有记录
值
92403、92405
不存在于Tickets
中,但它们存在于ticketbook
中
关于如何修改查询以显示这些结果,有什么建议吗
票证中不存在值92403、92405,但它们存在
在售票亭里
因此,您要检查相反的选项:
SELECT TicketNum FROM TicketBooks
WHERE NOT EXISTS
(
SELECT 1 FROM Tickets WHERE Tickets.TicketNum = TicketBooks.TicketNum
)
值
92403、92405
是否实际存在于Tickets
表中,而不存在于ticketbook
表中?显然,表ticketbook
包含表Tickets
的所有TicketNum
。值92403、92405
不存在于Tickets中,但是它们确实存在于票务簿中。@ChaseErnst那么你的查询就反过来了。您应该在不存在的票务簿上进行(…来自票务…)
@Lamark将您的评论添加为答案,我会将其标记为正确。非常感谢。