首页 文章

按一个表中的相应列选择行

提问于
浏览
0

我有一个简单的表:

person table

我想回复这个:

PersonID | LastName  |  Boss Name
1 | A | B
2 | B | C
3 | C | D
4 | D | null

基本上,一个表具有彼此对应的列 - 一行是Person,Boss是另一个 Person (行)的id,是该行的老板 .

有谁知道如何选择?如果两张 table 那么容易 . 它可以是多个选择,但我更喜欢使用一个(如果可能的话) . 我试图在同一个表上写内联接或两个选择的联合,但无法正确 .

1 回答

  • 0

    使用自联接 . 您可以在查询中使用相同的表两次;你需要为它们分配别名 .

    select t1.PersonId, t1.LastName, t2.LastName
    from person t1
    left join person t2 on t1.boss = t2.PersonId
    

    您需要外部联接( LEFT JOIN )以保留 boss 属性中具有 null 值的行 .

相关问题