我知道這已被問及之前,我已經嘗試了我在這裏看到的技術。但它不起作用。SQL左自加入
我有「人」,這看起來像一個桌子
是PersonID,PERSONNAME,PersonYOB,PersonCOB,FatherID
1 Fred Astaire 1963 USA 2
2 Bruce Astaire 1933 USA NULL
3 Adele Astaire 1961 FR 2
4 Gene Kelly 1965 IT NULL
5 Lucy Astaire 1935 USA NULL
我想什麼做的是選擇在父親的名字來來自父親的PersonID。我也有媽媽,但爲了簡單起見,我已經刪除了它。一旦我得到父親的工作,我會在加回母親。
我現在的選擇是這樣的
SELECT p.*, f.PersonName AS FatherName FROM People
LEFT OUTER JOIN People f ON
p.PersonID = f.FatherID
我的人都出現,但FatherName始終是NULL。
弗雷德阿斯泰爾應該顯示父親ID 2和f.PersonName作爲布魯斯阿斯泰爾。阿黛爾阿斯泰爾(他的妹妹)也是如此。
我錯過了什麼?
你可以用'inner join'來達到這個目的... – Abbas