id  reid  topid  name
1    0      0      a
2    1      1      b
3    2      1      c
4    2      1      d
5    2      1      e
6    1      1      f
7    6      1      g要求返回这样的结果id  reid  topid   fullname
3    2      1      abc
4    2      1      abd
5    2      1      abe
7    6      1      afg

解决方案 »

  1.   

    SELECT a.id,a.reid,a.topid,concat(a.name,b.name,b1.name) as  fullname 
    from tt a left join tt b on a.topid=b.id
    left join tt b1 on a.reid=b1.id
    where a.topid>=1 and a.reid>1 and b.reid=0 and b.topid=0 and b1.reid=1 and b1.topid=1
      

  2.   

    select a.id,a.reid,a.topid,concat(c.name,b.name,a.name)
    from table1 a,table1 b,table1 c
    where a.reid=b.id and b.reid=c.id