[英]SQL Join and union All
我正在嘗試在SQL中加入3個表。 表格1
CustomerID FirstName LastName Address EmailAddress
1 bob S 1111 xxx@yahoo.com
2 jim B 2222 777@yahoo.com
3 hank H 333 kkk@yahoo.com
表2
CustomerID Date MemberID
1 5/15/86 1
2 5/16/86 2
表3
CustomerID Lengthofstay
1 5
2 16
如您所見,表1中有3個客戶。我需要加入所有3個表。 但是在表2和表3中,我需要將其設置為NULL,其中客戶3沒有表2和表3的任何信息。它仍將擁有所有客戶3的信息,即表1,但空白信息不存在客戶3將為NULL。
我已經嘗試過了,但它排除了客戶3:
SELECT
A.CustomerID,
A.Firstname,
A.Lastname,
A.Address,
A.EmailAddress,
B.CustomerID,
B.Date,
B.memberID,
C.CustomerID,
C.LengthofStay
FROM TABLE1 as A
JOIN Table2 as B on ( A.CustomerID = B.CustomerID)
LEFT JOIN TABLE3 as C on ( A.CustomerId = C.CustomerID)
這樣就省去了客戶3。我嘗試使用:
WHERE A.CustomerID IS NULL;
但我什么也沒回來。 謝謝
好的,就在您附近,您需要將第一個聯接轉換為LEFT JOIN:
SELECT
A.CustomerID,
A.Firstname,
A.Lastname,
A.Address,
A.EmailAddress,
B.CustomerID,
B.Date,
B.memberID,
C.CustomerID,
C.LengthofStay
FROM TABLE1 as A
LEFT JOIN Table2 as B on ( A.CustomerID = B.CustomerID)
LEFT JOIN TABLE3 as C on ( A.CustomerId = C.CustomerID)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.