2013-06-27 102 views
-4

我需要對客戶端ID上的3個表(發票,付款,客戶端)應用聯接;但是,我需要的連接必須包含所有發票以及與客戶端ID關聯的所有付款。如果我們的客戶有付款且沒有發票(或其他方式),則此列也應顯示。我不想在結果表中出現重複,所以如果客戶同時擁有發票和付款,他應該只出現一次。我可以使用交叉連接,然後選擇不同,但是有沒有可以直接進行連接的連接。在ms訪問中加入查詢

+0

請發表您的tablestructure –

+0

客戶端(客戶端ID,preneurID,tot_DEBIT,TOT_CREDIT,TOTAL,...),發票(invoiceID,借記日.....) 支付(支付ID,信用,日... ) 它與我的問題有什麼關係?我只需要一個連接,將從不同的表中獲取所有行,合併具有相同ID的連接,並保留表中唯一的連接。 – user2497624

+1

非常好!現在另外兩個表格,那麼也許有人可以幫助你......並且請用表格結構編輯你的問題,不要只是將它添加爲註釋。 –

回答

1

喜歡的東西

Select * From T1 
left join T2 On T1.ClientID = T2.ClientID 
Left join T3 On T1.ClientID = T3.ClientID 

應該這樣做。

+0

我知道左外連接,但從未聽說過(或忘記)左連接。感謝您的時間 – user2497624

+0

左連接是左外連接。外部語法已被刪除/棄用。現在內連接,左或右連接,通常取決於DBMS當然。 –

+0

閱讀後,我注意到這兩個實際上是相似的,我是那個沒有正確理解他們機制的人。我總是認爲它只會取左表中左值唯一的值。 – user2497624