查询Mysql语句的结果

时间:2015-03-20 14:49:31

标签: mysql

我有下表

 Id    Name    ParentName
 100   Alain    400
 200   Maria    400
 300   Robert   500
 400   Fred     0
 500   Steve    0

我想从此表中提取的内容如下:

Name    ParentName
Alain   Fred
Maria   Fred
Robert  Steve

我尝试了以下声明,但没有得到所需的结果:

SELECT Name,ParentName
FROM tblFam
WHERE ParentName
IN ( SELECT Id FROM tblFam) 

知道如何获得它吗?

3 个答案:

答案 0 :(得分:2)

你需要加入与

相同的表格
select
t1.name,
t2.name as parentname
from table_name t1
left join table_name t2 on t1.ParentName = t2.id

答案 1 :(得分:1)

您可以使用内部联接:

SELECT child.Name, parent.Name FROM tblFam child
INNER JOIN tblFam parent ON parent.Id = child.ParentName

一个小小的观察结果:最好将ParentName重命名为ParentId

答案 2 :(得分:0)

SELECT Name, (SELECT Name FROM tblFam WHERE id = ParentName) AS ParentName 
FROM tblFam;