选择与另一行/列的数据相同的数据

时间:2019-07-10 22:23:08

标签: sql database

我是SQL的新手,我尝试了这个。 这是我的桌子:

person_id | parent_id | name    
-----1--------------0----------Steve    
---- 2 -----------  1--------- Joe    
-----3------------- 2--------  Monica    
---- 4 ------------ 2-------   Ted

与这些数字的关系:乔是史蒂夫的儿子,所以乔的parent_id等于他父亲(史蒂夫)的person_id。莫妮卡和泰德是乔的孩子。因此,他们的parent_id等于父亲的person_id

我正在尝试为此输出创建sql查询:

-------------------------
| Steve | Joe  | Monica |
-------------------------
| Steve | Joe  | Ted    |
-------------------------

我尝试了此SQL查询,但这是不合逻辑的。

SELECT name FROM child,parent where parent.parent_id=child.child_id

2 个答案:

答案 0 :(得分:0)

XmlDocument

答案 1 :(得分:0)

您正在寻找一种自我加入的方式:

select t.name, tp.name, tgp.name
from mytable t join
     mytable tp
     on tp.person_id = t.parent_id join
     mytable tgp
     on tgp.person_id = tp.parent_id;