我有两组表格,包括账户上所有联系人的标题等等。为了数据迁移目的,我需要从表A中选择所有ContactsIds以及他们的AccountID在表B中不存在。它是ContactId和AccountID的组合。我曾尝试以下:选择表A中列的组合不在表B中
Select * from Final_Combined_Result wfcr
WHERE NOT EXISTS (Select Contact_ID, Account_ID from Temp_WFCR)
我知道这是完全关闭的,但我已经看过一对夫妇对这里的其他问题,但未能找到一个合适的解决方案。
我也试过这样:
Select * from Final_Combined_Result wfcr
WHERE NOT EXISTS
(Select Contact_ID, Account_ID from Temp_WFCR as tc
where tc.Account_ID=wfcr.Account_InternalID
AND tc.Account_ID=wfcr.Contact_InternalID)
这似乎是正确的,但我想确认一下。
您是否希望输出不同的列?或将行数限制为只有那些没有联系人和账户ID的行数? – paqogomez 2014-09-22 16:33:23
你需要关联那些不知何故。 http://sqlperformance.com/2012/12/t-sql-queries/left-anti-semi-join – 2014-09-22 16:34:59
你最近的编辑看起来不错,除了子选择你加入'account_id'两次。将第二个更改为“contact”。这与我最初发布的那个基本相同。查看我最近的修改,并告诉我是否需要更多帮助/示例。 – paqogomez 2014-09-22 18:36:46