查询以显示名称而不是来自一个表的ID的值

此表中是一个个人列表,其中一些个人是另一个个人的父母,该个人在parentID1parentID2列中仅指定为personID值。我想在第一栏中显示个人列表,然后在第二栏中显示其父母的姓名。

查询以显示名称而不是来自一个表的ID的值

wangloutingxue 回答:查询以显示名称而不是来自一个表的ID的值

您可以两次自行加入表格:

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与给定的parentID1parentID2匹配的记录中,记录不会多于1条(否则查询将失败,因为内联子查询将返回多个记录)。

,

您好,请尝试使用如下所示的自我加入功能。请尝试这种方式

select t.name,from tableName1 as t1,tableName1 as t2

where t1.personID=t2.parentID1
本文链接:https://www.f2er.com/3167862.html

大家都在问