쿼리문 질문드립니다.
본문
$sum_count = "0";
$sql = "
SELECT a.mb_name AS lev1, b.mb_name as lev2, c.mb_name as lev3, d.mb_name as lev4, e.mb_name as lev5, f.mb_name as lev6, g.mb_name as lev7, h.mb_name as lev7, i.mb_name as lev8
FROM {$g5['member_table']} AS a
LEFT JOIN {$g5['member_table']} AS b ON b.mb_8 = a.mb_name
LEFT JOIN {$g5['member_table']} AS c ON c.mb_8 = b.mb_name
LEFT JOIN {$g5['member_table']} AS d ON d.mb_8 = c.mb_name
LEFT JOIN {$g5['member_table']} AS e ON e.mb_8 = d.mb_name
LEFT JOIN {$g5['member_table']} AS f ON f.mb_8 = e.mb_name
LEFT JOIN {$g5['member_table']} AS g ON g.mb_8 = f.mb_name
LEFT JOIN {$g5['member_table']} AS h ON h.mb_8 = g.mb_name
LEFT JOIN {$g5['member_table']} AS i ON i.mb_8 = h.mb_name
WHERE a.mb_name = '홍길동'
";
$result = sql_query($sql, true);
while ($row = sql_fetch_array($result)) {
$row = array_filter($row);
$sum_count ++;
echo $sum_count;
print_r ($row);
echo "<br>";
}
1Array ( [lev1] => 홍길동 [lev2] => 고은경1 )
2Array ( [lev1] => 홍길동 [lev2] => 백의현 [lev3] => 김채안 )
3Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 김옥진 )
4Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 서국영 [lev4] => 김태숙 )
5Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 민윤지 [lev4] => 김임두 [lev5] => 양영란 )
6Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 민윤지 [lev4] => 김평임 )
7Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 민윤지 [lev4] => 홍정애 )
8Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 하영홍 )
9Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 이유라 [lev4] => 김규림2 [lev5] => 사미숙 [lev6] => 문윤희 )
10Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 이유라 [lev4] => 김규림2 [lev5] => 김시경 )
11Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 이유라 [lev4] => 김혜숙1 )
12Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 이유라 [lev4] => 서복순 )
13Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 이유라 [lev4] => 박정애 )
14Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 전미희 [lev4] => 조애경 )
15Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 전미희 [lev4] => 윤기순 )
16Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 전미희 [lev4] => 조금란 [lev5] => 김진환 )
트리구조형은 재귀쿼리가 있다는걸 확인했으나.. 사용가능한 버전이 mysql 8.x부터 가능하더라구요.. 전 5.5를 사용해서 버전 오류가 납니다. ㅠㅠ
해서.. 막코딩으로 하위값까지 가져오는건 했는데 중복값이 제거가 안되네요
(최대 8단계 하위까지 있어서 8단계까지 했고, 빈 값은 제외를 시켰습니다.)
각 이름값이 한번만 나오면 될 거 같은데.. 그게 안됩니다.
답변 2
원하시는 것이
4Array ( [lev1] => 홍길동 [lev2] => 김미자 [lev3] => 서국영 [lev4] => 김태숙 )
가 아니라
4Array ( [lev4] => 김태숙 )
이런 식을 원하시는 건가요?
속도는 차치 하고 원하는 결과가 뭔가요?
예시로 주신거에는 중복은 없어 보이는데요 ..
답변을 작성하시기 전에 로그인 해주세요.