0

我有一个名为 tbl_member 的表,有一个名为 parent 的列定义了该成员的父级。但问题是当有多个根供应商的子级时,我的查询显示重复行。在 tbl_member 表中可以有 n水平的孩子。我想显示成员名称和直接父名称。以下是我的查询

 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'

是否可以在一个查询中进行?

4

1 回答 1

0

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

于 2013-10-09T12:02:52.297 回答