我有3個表...SQL服務器:連接表結果不包含空值(我想要它)
人:
PersonID FirstName LastName
-------------------------------
2 Jim Smith
4 David Dill
5 Sarah Hill
6 Eric Ericson
承諾:
PersonID Amount Year
------------------------
4 1000 2017
5 1000 2017
6 1000 2017
提供內容:
PersonID TotalToPresent Year
------------------------------
4 200 2017
5 400 2017
我想加入這些表格,儘管沒有給出,但願意列入表格的人員。
結果:
PersonID Pledge TotalToPresent Year
------------------------------------------
4 1000 200 2017
5 1000 400 2017
6 1000 NULL (or zero) 2017
但是,我得到的表從來不包括任何人誰沒有給(是不是在創建表存在)
我的查詢:
SELECT
Person.PersonID,
PLEDGES.PledgeAmount,
PLEDGES.ContributionYear,
Person.LastName,
Person.FirstName,
Person.PrimaryAssociationID,
Contributions.TotalContrib
FROM
PLEDGES
INNER JOIN
(Contributions
LEFT JOIN
Person ON Contributions.PersonID = Person.PersonID)
ON PLEDGES.PersonID = Person.PersonID
FROM
PLEDGES
INNER JOIN
Person ON PLEDGES.PersonID = Person.PersonID
INNER JOIN
Contributions ON Person.PersonID = Contributions.PersonID
WHERE
PLEDGES.Year = '2017'
ORDER BY
Person.PersonID
INNER JOIN在OUTER JOIN刪除NULL值後執行。 –