Я знаю, что это было задано раньше, и я пробовал методы, которые я видел здесь. Но это просто не работает.SQL Left Join on Self
У меня есть таблица «Люди», которая выглядит как это
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
То, что я хотел бы сделать, это выбрать, где приходит имя Отца от персонального идентификатора отца. У меня также есть Мать, но я удалил это для простоты. После того, как я получаю Отца работать я добавлю маму обратно.
Мой текущий ВЫБРАТЬ выглядит следующим образом
SELECT p.*, f.PersonName AS FatherName FROM People
LEFT OUTER JOIN People f ON
p.PersonID = f.FatherID
всех моих людей появляются, но всегда Отчество NULL.
Фред Астэр должен показать отца ID 2 и f.PersonName как Брюс Астер. То же самое можно сказать о Адель Астере (его сестра).
Что мне не хватает?
вы можете использовать 'inner join' для этой цели ... – Abbas