我有4個表,A,B,C,D。使用左外部聯接從多個表中引入數據
A存儲我的客戶ID,B,C D存儲客戶的各種詳細信息。例如: B店教育,C店職業,D店興趣。
現在客戶可能沒有在C,d條目或它可能在B和d入境,但不是在C.
我想joing所有的四個表來選擇的所有信息。 Customer_id存在於所有四個表中。內部連接顯然不起作用。
我在考慮Left outer join。有人可以幫我解決這個問題。
我有4個表,A,B,C,D。使用左外部聯接從多個表中引入數據
A存儲我的客戶ID,B,C D存儲客戶的各種詳細信息。例如: B店教育,C店職業,D店興趣。
現在客戶可能沒有在C,d條目或它可能在B和d入境,但不是在C.
我想joing所有的四個表來選擇的所有信息。 Customer_id存在於所有四個表中。內部連接顯然不起作用。
我在考慮Left outer join。有人可以幫我解決這個問題。
LEFT OUTER JOIN只會得到列A:B匹配或B:C匹配的行,如果你想保留表C,D中某些行的值爲空,你可以先製作一個 LEFT OUTER加入A和B,然後用C和D做一個完整的外部連接,這樣你就可以保留C和D中的所有數據,如果其中有或沒有數值,則不需要任何數據。
I在事端在想是這樣的:
SELECT a.store, b.education, d.storeinterest FROM
(
SELECT * FROM A
LEFT OUTER JOIN B
ON A = B
) A
FULL OUTER JOIN C
ON A = C
FULL OUTER JOIN D
ON A= D
沿着這些線路的東西應該讓你開始:
SELECT a.*, b.*, c.*, d.*
FROM a LEFT OUTER JOIN b on
a.customer_id = b.customer_id LEFT OUTER JOIN c
on a.customer_id = c.customer_id LEFT OUTER JOIN d
on a.customer_id = d.customer_id
'左外連接'似乎是正確的選擇;你(外部)加入'Customer_id',並且在沒有找到匹配數據的行中,來自該表的值將是'NULL' – DrCopyPaste 2014-10-06 15:20:46