무식하게 짠 쿼리문좀 봐주세요
본문
select a.mb_id, a.wr_name, b.mb_name, a.wr_29, b.mb_level, b.mb_1, count(*) as cnt , sum(a.wr_23) as tot
from {$write_table} a
inner join (
select mb_id,
mb_name,
mb_level,
mb_1,
mb_13
from {$g5['member_table']}
where mb_id='{$main_id}'
union
select
p1.mb_id,
p1.mb_name,
p1.mb_level,
p1.mb_1,
p1.mb_13
from {$g5['member_table']} p1
left join {$g5['member_table']} p2 on p2.mb_id = p1.mb_9
left join {$g5['member_table']} p3 on p3.mb_id = p2.mb_9
left join {$g5['member_table']} p4 on p4.mb_id = p3.mb_9
left join {$g5['member_table']} p5 on p5.mb_id = p4.mb_9
left join {$g5['member_table']} p6 on p6.mb_id = p5.mb_9
left join {$g5['member_table']} p7 on p6.mb_id = p6.mb_9
left join {$g5['member_table']} p8 on p6.mb_id = p7.mb_9
left join {$g5['member_table']} p9 on p6.mb_id = p8.mb_9
where '{$main_id}' in (p1.mb_9, p2.mb_9, p3.mb_9, p4.mb_9, p5.mb_9, p6.mb_9, p7.mb_9, p8.mb_9, p9.mb_9)
) as b on a.mb_id = b.mb_id
group by mb_id
mysql 5라서 재귀쿼리가 안됩니다.
mb_9를 기준으로 하위 인원을 뽑아오는데
여기에 depth를 넣고 싶습니다.
기준이 되는 mb_id를 0을 기준으로 하위로 1, 2, 3... 이렇게 넣어서 소트를 시키고 싶은데
depth를 어떻게 넣어야 할지 모르겠습니다.
!-->답변 2
역시 무식한 답변을 드리자면
if( p2.mb_id is null, 1, if( p3.mb_id is null, 2, if( p4.mb_id is null, 3, ...)))
select
p1.mb_id,
p1.mb_name,
p1.mb_level,
p1.mb_1,
p1.mb_13,
if( ...) depth -- 여기에 추가해 보세요.
from {$g5['member_table']} p1
left join {$g5['member_table']} p2 on p2.mb_id = p1.mb_9
답변을 작성하시기 전에 로그인 해주세요.