0

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 では、顧客 3 がテーブル 2 と 3 の情報を持っていない場合は NULL にする必要があります。テーブル 1 であるすべての顧客 3 情報はまだありますが、そこにない空白の情報があります。顧客 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;しかし、私は何も返されません。ありがとう

4

1 に答える 1

1

OK、もうすぐです。最初の結合を 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)
于 2013-06-09T21:58:32.133 に答える