通过一个表中的相应列选择行

时间:2018-07-24 07:09:34

标签: sql join select union

我有一个简单的表:

person table

我要退货:

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

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

有人知道如何选择吗?如果在两个表中会很容易。它可以是多个选择,但我更愿意使用一个(如果可能的话)。我试图在同一张表或两个选择的某个联合上编写内部联接,但无法正确完成。

1 个答案:

答案 0 :(得分:0)

使用自联接。您可以在查询中使用同一张表两次;您需要为其分配别名。

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

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