0
我有兩張表需要加入,我很難做到這一點。下面是一個簡化的例子:基於字段值的ACCESS SQL中的條件連接?
表1(T1)與字段: CUST_ID, PROD_ID, TYPE_ID
表2(T2)與所述字段: CUST_ID, PROD_ID, TYPE_ID, 結果
問題是: 我需要表1中的所有值。如果T1.Cust_ID是Null,那麼我需要T2中具有相同Prod_ID和Type_ID的所有行。如果T1.Cust_ID不爲空,那麼我只需要T2中的行,其中T1.Cust_ID = T2.Cust_ID具有相同的Prod_ID和Type_ID。
我的第一次嘗試是使聯合查詢:
Select T1.Cust_ID, T1.Prod_ID, T1.Type_ID, T2.Results
From T1 left join T2
On T1.Cust_ID=T1.Cust_ID and T1.Prod_ID=T2.Prod_ID and T1.Type_ID=T2.Type_ID
Where T1.Cust_ID is not Null
Union
Select T1.Cust_ID, T1.Prod_ID, T1.Type_ID, T2.Results
From T1 left join T2
On T1.Prod_ID=T2.Prod_ID and T1.Type_ID=T2.Type_ID
Where T1.Cust_ID is Null
我知道它的蠻力方法,但它適用於一個領域。現在我需要在一個以上的領域有這種相同的條件,我想知道如何動態地做到這一點。我在線尋找解決方案,但在這種情況下找不到任何人。
任何想法或鏈接到同一個問題? 謝謝
原來存在ACCESS沒有「CASE」功能:-( –
對不起,我沒你使用MSACCESS注意到我編輯的代碼段立即嘗試使用它。 – Barkezy
嗨,謝謝你的回答。原來MS ACCESS不支持全外連接。 –