Вы можете самостоятельно присоединиться к таблице дважды:
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
Это предполагает, что их будет не более1 запись в таблице с personID
, который соответствует данному parentID1
или parentID2
(в противном случае запрос не будет выполнен, поскольку встроенный подзапрос вернет более одной записи).