我正在嘗試加入多個表,其中 e.Email、e.Phone 列中的值是自愿的。即使e.Email、e.Phone 包含空值,我也想選擇所有行。 目前,我只能選擇存在 e.Email、e.Phone 值的行。
SELECT a.ID_1
,b.Tier
,e.Email
,e.Phone
FROM CustomerActivity a
JOIN CustomerSummary b
ON a.ID_1 = b.ID_1
JOIN DimensionCustomer c
ON b.ID_1 = c.ID_1
JOIN LegacyCustomerMapping d
ON c.ID_2 = d.ID_2
JOIN LegacyCustomerContactData e
d.ID_3 = e.ID_3
非常感謝您的任何建議!
uj5u.com熱心網友回復:
我建議在您的查詢中使用左連接而不是連接。這應該得到你正在尋找的結果。
圖片來自:
uj5u.com熱心網友回復:
這可以通過使用LEFT OUTER JOIN包含電子郵件和電話欄位的表來獲得:
SELECT a.ID_1, b.Tier, e.Email ,e.Phone
FROM CustomerActivity a
JOIN CustomerSummary b ON a.ID_1 = b.ID_1
JOIN DimensionCustomer c ON b.ID_1 = c.ID_1
JOIN LegacyCustomerMapping d ON c.ID_2 = d.ID_2
LEFT OUTER JOIN LegacyCustomerContactData e d.ID_3 = e.ID_3
使用 anOUTER JOIN可以避免在連接表中沒有相關行時不回傳記錄。請注意,這OUTER是可選的,可能并非所有資料庫都支持。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/516145.html
標籤:sql加入
下一篇:SQL聯合和合并子集表
