MySQL加入显示成员,子成员树结构

时间:2013-10-09 11:53:12

标签: mysql

我有一个名为tbl_member的表,有一个名为parent的列,它定义了该成员的父级。但是问题是当根供应商的子项超过我的查询时它显示重复的行。在tbl_member表中可以有是一个n级孩子。我想显示会员姓名和直接父母姓名 .Below是我的查询

 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'

是否可以在一个查询中使用?

1 个答案:

答案 0 :(得分:0)

绝对有可能。我认为您的代码可能会倒退。连接应该是ON tm.parent = tm2.memberId,因为tm2应该是父记录。然后将最后一列更改为tm2.member_id