0
我有3代表以下數據:順序左聯接表現爲內部連接
materials customers sales
----------- ----------- --------------
mtrl comp cust comp mtrl cust expqty
1 2 22 2 1 22 1
2 2 23 2 2 22 2
3 2 24 2 3 23 3
4 2 25 2 4 24 4
,我想產生如下結果:
mtrl cust expqty
1 22 1
2 22 2
3 22 null
4 22 null
在SQL Server中,我使用以下查詢:
select a.mtrl,b.cust,c.expqty from materials a left join customers b on a.comp=b.comp
left join sales c on c.mtrl=a.mtrl and c.cust=b.cust where b.cust=22
,雖然我使用的是左連接,我失去了最後的2線和所有我得到的是:
mtrl cust expqty
1 22 1
2 22 2
你能告訴我我做錯了什麼,或者我會如何達到預期的效果?
傳統'外部連接'在使用'LEFT JOIN'時''Where'子句中的左表錯誤過濾左表。你需要在'ON'條件下過濾左表記錄 –