簡體   English   中英

SQL連接和合並全部

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM