此表中是一个个人列表,其中一些个人是另一个个人的父母,该个人在parentID1
和parentID2
列中仅指定为personID
值。我想在第一栏中显示个人列表,然后在第二栏中显示其父母的姓名。
答案 0 :(得分:0)
您可以两次自行加入表格:
select
t.name,
t1.name parentName1,
t2.name parentName2
from mytable t
left join mytable t1 on t1.personID = t.parentID1
left join mytable t2 on t2.personID = t.parentID2
或者您可以使用内联相关子查询:
select
t.name
(select t1.name from mytable t1 where t1.personID = t.parentID1) parentName1,
(select t1.name from mytable t2 where t2.personID = t.parentID2) parentName2
from mytable t
这假设表中的personID
与给定的parentID1
或parentID2
匹配的记录中,记录不会多于1条(否则查询将失败,因为内联子查询将返回多个记录)。
答案 1 :(得分:0)
您好,请尝试使用如下所示的自我加入功能。请尝试这种方式
select t.name,
from tableName1 as t1,tableName1 as t2
where t1.personID=t2.parentID1