2
我有一個姓氏及其唯一ID的列表。在我們的數據庫中,我們有兩個與姓氏相關的表格。第一個表具有當前的姓氏,第二個表具有別名/過去的姓氏。如何僅返回兩個表中不存在姓氏的個人的姓氏和身份證號碼?檢查一個值是否存在於多個表中SQL Server
我使用NOT IN:
SELECT
A.[ID], A.[Last Name]
FROM
Involvement_Data A
INNER JOIN
DIM_CONSTITUENT B ON A.[ID] = B.[LOOKUPID]
LEFT JOIN
DIM_CONSTITUENTALIAS C ON B.[CONSTITUENTSYSTEMID] = C.[CONSTITUENTSYSTEMID]
WHERE
A.[Last Name] NOT IN (B.[LASTNAME], C.[LASTNAME]);
嘗試,但表似乎得到單獨評估,害我,因爲它沒有在DIM_CONSTITUENT
OR DIM_CONSTITUENTALIAS
存在獲取值回。它不會將表格作爲一個整體進行評估。我也嘗試使用NOT EXISTS
與相關的子查詢,但似乎仍然得到我沒有找到的結果。
幾乎一碼兩個中的一個只回答。你可能想解釋用'LEFT JOIN'替換'INNER JOIN',並使用'IS NULL'。 – Cameron
@Cameron你說得對,我加了一些解釋 –