我有這樣的查詢;SQL:在查詢中使用兩個LEFT OUTER JOIN
SELECT a.ID, a.TURQ_ID, a.UNVAN, a.TIP, a.AKTOR,
a.GSM_ALAN, a.GSM_TEL, a.IS_ALAN, a.IS_TEL,
a.IS_EXT, a.EV_ALAN, a.EV_TEL, a.ADRES,
a.TEMSILCI_ACK,
(CASE WHEN A.YAZ_ADRES IS NULL
THEN (B.IS_ADRES1 +' '+B.IS_ADRES2)
ELSE A.YAZ_ADRES END)
COLLATE DATABASE_DEFAULT AS YAZ_ADRES , A.SEHIR, A.PS, A.MEMO
FROM PROSPECT_MASTER A
LEFT OUTER JOIN YAZ..MARDATA.S_MUSTERI B
ON A.ID IN (B.TC_KIM_NO, B.VERGI_NO) // Result 12730 rows
我想補充另一個LEFT OUTER在我這樣的查詢JOIN;
SELECT a.ID, a.TURQ_ID, a.UNVAN, a.TIP, a.AKTOR,
a.GSM_ALAN, a.GSM_TEL, a.IS_ALAN, a.IS_TEL,
a.IS_EXT, a.EV_ALAN, a.EV_TEL, a.ADRES,
(CASE WHEN a.TEMSILCI_ACK IS NULL THEN C.TEMSILCI_ACK ELSE A.TEMSILCI_ACK END) COLLATE DATABASE_DEFAULT AS TEMSİLCİ,
(CASE WHEN A.YAZ_ADRES IS NULL
THEN (B.IS_ADRES1 +' '+B.IS_ADRES2)
ELSE A.YAZ_ADRES END)
COLLATE DATABASE_DEFAULT AS YAZ_ADRES , A.SEHIR, A.PS, A.MEMO
FROM PROSPECT_MASTER A
LEFT OUTER JOIN YAZ..MARDATA.S_MUSTERI B
ON A.ID IN (B.TC_KIM_NO, B.VERGI_NO)
LEFT OUTER JOIN YAZ..MARDATA.T_TEMSILCI_KOD C
但是第二個查詢在最後一行出現錯誤。
這個sutiation的正確語法是什麼?
你忘了第二個'左外join' – Andomar
了'on'條款與第一外連接,你需要用ON子句指定連接標識符。 –
@Soner - 如果你沒有條件,那麼'C'中的每一行都要匹配'A'和'B'結果集中的每一行 - 所以如果'C'不是空的,重新描述是交叉連接或笛卡爾產品。這幾乎總是不是你想要的。 –