我知道之前已经问过这个问题,我已经尝试过我在这里看过的技巧。但它只是不起作用。
我有一张人物表'看起来像这样
PersonID,PersonName,PersonYOB,PersonCOB,FatherID
devenv /Setup
我想做的是一个SELECT,其中父名来自父亲的PersonID。我也有母亲,但为了简单起见,我已将其删除。一旦我让父亲上班,我就会重新加入母亲。
我当前的SELECT看起来像这样
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
我的所有人都出现,但是FatherName始终为NULL。
弗雷德阿斯泰尔应该将父亲ID 2和f.PersonName显示为布鲁斯阿斯泰尔。阿黛尔阿斯泰尔(他的妹妹)也是如此。我错过了什么?
答案 0 :(得分:0)
这里你跟inner join一起去,因为你正试图加入这个桌子......
SELECT p.*, f.PersonName AS 'FatherName' FROM People p //here is the p you forgot
INNER JOIN People f ON
p.PersonID = f.FatherID
答案 1 :(得分:0)
您的加入条件不正确。改变如下。
SELECT p.*, f.PersonName AS FatherName FROM People p
LEFT OUTER JOIN People f ON
p.FatherID= f.PersonID