2015-12-30 55 views
-1

什么查询获取记录结果在同一个表中?MySql查询从树表中获取记录

我的表是这样的:

id uid name status parent 
1 1t01 AAA Teacher root 
2 2s01 CCC Student 1t01 
3 3t02 BBB Teacher root 
4 4s02 DDD Student 3t02 
5 5s03 EEE Student 1t01 

在那里我有名称:DDD,我赢了显示老师的名字:BBB

什么查询得到老师的名字:BBB

解决

答案来自Martin

SqlFiddle

+0

请给出撕裂器表的结构?以及该表中为维护关系而制作的任何主键? –

回答

0

你可以加入本身的表,就像这样:

SELECT p.name teacher 
FROM table_name t 
INNER JOIN table_name p 
    ON p.uid = t.parent 
WHERE t.name = 'BBB'; 
0
select * from table Name where name="BBB" 
0

联袂同台会这么做:

SELECT t2 .name as teacherName 
FROM t1 
JOIN t1 AS t2 ON t1.parent = t2.uid 
WHERE t1.name = 'BBB'; 
1

您的查询应该是这样的:

SELECT t2.name 
FROM yourtable t1, yourtable t2 
WHERE t1.parent = t2.uid 
AND t1.name = 'DDD'; 

替换yourtable与您的实际表名称。