我有一个简单的表:
我想回复这个:
PersonID | LastName | Boss Name 1 | A | B 2 | B | C 3 | C | D 4 | D | null
基本上,一个表具有彼此对应的列 - 一行是Person,Boss是另一个 Person (行)的id,是该行的老板 .
Person
有谁知道如何选择?如果两张 table 那么容易 . 它可以是多个选择,但我更喜欢使用一个(如果可能的话) . 我试图在同一个表上写内联接或两个选择的联合,但无法正确 .
使用自联接 . 您可以在查询中使用相同的表两次;你需要为它们分配别名 .
select t1.PersonId, t1.LastName, t2.LastName from person t1 left join person t2 on t1.boss = t2.PersonId
您需要外部联接( LEFT JOIN )以保留 boss 属性中具有 null 值的行 .
LEFT JOIN
boss
null
1 回答
使用自联接 . 您可以在查询中使用相同的表两次;你需要为它们分配别名 .
您需要外部联接(
LEFT JOIN
)以保留boss
属性中具有null
值的行 .