我目前有两个表看起来像这样:
表格1
Id | AddressNumber | AddressStreet | AddressZip
------------------------------------------------
1 | 50 | Fake | 60101
2 | 300 | Fake | 60101
3 | 50 | Fake2 | 60101
4 | 50 | Fake | 60103
Run Code Online (Sandbox Code Playgroud)
表2
AddressLowRange | AddressHighRange | AddressStreet | AddressZip
---------------------------------------------------------------
50 | 200 | Fake | 60101
20 | 50 | Other Fake | 70102
Run Code Online (Sandbox Code Playgroud)
我需要从表1中找到一个Ids列表,其中地址不在表2中.因此,对于上面的示例数据,我将返回ID 2,3和4.
试试这个.
SELECT Id
FROM Table1
WHERE NOT EXISTS
(SELECT *
FROM Table2
WHERE Table1.AddressNumber BETWEEN Table2.AddressLowRange AND Table2.AddressHighRange
AND Table1.AddressStreet = Table2.AddressStreet
AND Table1.AddressZip = Table2.AddressZip
)
;
Run Code Online (Sandbox Code Playgroud)