2013-10-09 19 views
0

我有一个名为tbl_member的表,有一个名为parent的列,它定义了该成员的父代。但是问题是当根存在超过子代的供应商时我的查询是显示重复的行。在tbl_member表中可以有n级子级。 我想说明的会员名称和直接父名。下面是我的查询MySQL加入显示成员,子成员树结构

SELECT tm.first_name fn, 
     tm.last_name ln, 
     tm.username , 
     tm.email_id, 
     tm.member_password, 
     tm.status, 
     tm.create_date, 
     tm.member_id, 
     tm.parent, 
     tm.type, 
     if(tm2.parent is NULL, 'parent', CONCAT(tm2.first_name,' ',tm2.last_name)) as parent_name 
     FROM tbl_member tm 
     LEFT JOIN tbl_member tm2 ON tm.member_id=tm2.parent 
     WHERE tm.type='vendor' 

是否有可能在一个查询?

回答

0

这绝对有可能。我认为你的代码可能会倒退。加入应该是ON tm.parent = tm2.memberId,因为tm2应该是父记录。然后改变你的最后一列使用tm2.member_id

+0

谢谢,它的工作原理 – user1987095