我有兩個表看起來像這樣:如何連接兩個表,但只返回不匹配的行?
T1: ID | Date | Hour | Interval
T2: ID | Date | Hour
我基本上需要加入這些表時,它們的ID,日期和時間匹配。但是,我只想返回表1的結果,即而不是與表2中的結果相匹配。
我知道這看起來很簡單,但是我被卡住的地方是有多行在表1中與表2相匹配(任何給定小時有多個間隔)。我需要返回所有這些間隔的,只要他們沒有在桌子上掉下來一樣小時內2
示例數據:
T1: 1 | 1/1/2011 | 1 | 1
1 | 1/1/2011 | 1 | 2
1 | 1/1/2011 | 2 | 1
1 | 1/1/2011 | 2 | 2
T2: 1 | 1/1/2011 | 1
我預期的結果爲這個設定是最後兩行從T1
。任何人都可以在正確的軌道上指點我嗎?
感謝您的答覆,兩種查詢都可以很好地與MS Access配合使用說實話,我從來不知道你可以結合像這樣的SELECT語句,+1。 – Breakthrough
實際上,還有一個響應 - 我帶着第一個選項「WHERE NOT EXISTS」條款去了。巧妙的,我從來不知道你可以做到這一點,它運作得非常好。 – Breakthrough
請記住,NOT EXISTS沒有被Jet/ACE查詢處理器優化,並且不會總是在比較的兩邊都使用索引(NOT IN的情況也是如此,達到更大的程度)。因此,隨着數據集的增長,您可以看到NOT EXISTS版本的主要性能受到影響。 JOIN版本將始終使用所有可用的索引。 –