쿼리문 좀 봐주세요 채택완료
예서제이
3년 전
조회 1,782
</p>
<p>$sql = "</p>
<p> select
mb_name, mb_9, mb_id
from (select * from {$g5['member_table']}
order by mb_9, mb_id) products_sorted,
(select @pv := '{$main_name}') initialisation
where find_in_set(mb_9, @pv)
and length(@pv := concat(@pv, ',', mb_id))</p>
<p>";</p>
<p> $result = sql_query($sql, true);
while ($row = sql_fetch_array($result)) {</p>
<p> print_r2($row);</p>
<p>
mysql 5.x 버전이라 재귀쿼리문을 사용하지 못합니다.
{$main_name} 의 아이디로부터 mb_9가 연결되어 있는 모든 하위리스트를 뽑아내는 소스인데..
10개 라인에 총100명이 있다고 했을때
9개 라인의 90명은 잘 불러오는데 1개 라인에 10명만 불러오지 못합니다.
해당 회원을 삭제, 수정, 재 등록 해봐도... 계속 똑같은 라인만 불러오지 못하는데...
제가 알지 못하는 부분이 있는지 궁금합니다.
불러오지 못하는 라인을 전부 하나하나 체크해봐도.. 상위가 {$main_name}로 연결이 되어 있는데..
애초에 에러가 나면 모르겠는데.. 에러도 안나고 잘 불러오는데..
특정 라인만 못불러오는게... 미치겠습니다. ㅜㅜ
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
마르스컴퍼니
Expert
3년 전
$sql = "
select mb_name, mb_9, mb_id
from {$g5['member_table']}
where instr(mb_9, '{$main_name}')
";
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
�
예서제이
3년 전
�
마르스컴퍼니
3년 전
"{$main_name} 의 아이디로부터 mb_9가 연결되어 있는 모든 하위리스트를 뽑아내는 소스"
이 부분을 조금 더 구체적으로 설명해 주시면 좋을 것 같습니다.
이 부분을 조금 더 구체적으로 설명해 주시면 좋을 것 같습니다.
�
예서제이
3년 전
위에 이미지로 첨부했습니다.
댓글을 작성하려면 로그인이 필요합니다.
마르스컴퍼니
Expert
3년 전
{$main_name} 이 ID 인지 Name 인지 모르겠습니다.
어려운 쿼리를 쓰지 않아도 됩니다. (가능하다면 쉬운 쿼리를 쓰는 것이 좋습니다.)
$sql = "
select mb_name, mb_9, mb_id
from {$g5['member_table']}
where mb_9 in (select mb_9 from {$g5['member_table']} where mb_id = '{$main_name}')
";
or
$sql = "
select mb_name, mb_9, mb_id
from {$g5['member_table']}
where mb_9 in (select mb_9 from {$g5['member_table']} where mb_name = '{$main_name}')
";
로그인 후 평가할 수 있습니다
답변에 대한 댓글 4개
�
마르스컴퍼니
3년 전
(정정) where mb_9 in (select mb_id
-> where mb_9 in (select mb_9
-> where mb_9 in (select mb_9
�
엑스엠엘
3년 전
본문 내용의 query는
mysql8.x 부터 지원하는 CTE를 대신할 수 있는 query인데
잘 안 되는 거 보면 썩 좋은 편은 아닌가 봅니다.
mysql8.x 부터 지원하는 CTE를 대신할 수 있는 query인데
잘 안 되는 거 보면 썩 좋은 편은 아닌가 봅니다.
�
예서제이
3년 전
답변감사합니다.
쿼리문 적용해보니...
같은 라인의 (같은 상위 id를 mb_9)를 두고 있는 회원이 나오네요.. ㅠㅠ
위 아래 같습니다.
즉... {$main_name}이 100009 이고 이 회원의 mb_9가 1001 이면
mb_9가 1001 인 회원이 모두 출력이 됩니다. ㅠㅠ
쿼리문 적용해보니...
같은 라인의 (같은 상위 id를 mb_9)를 두고 있는 회원이 나오네요.. ㅠㅠ
위 아래 같습니다.
즉... {$main_name}이 100009 이고 이 회원의 mb_9가 1001 이면
mb_9가 1001 인 회원이 모두 출력이 됩니다. ㅠㅠ
�
마르스컴퍼니
3년 전
[code]
$sql = "
select mb_name, mb_9, mb_id
from {$g5['member_table']}
where mb_9 in (select mb_id from {$g5['member_table']} where mb_id = '{$main_name}')
";
[/code]
$sql = "
select mb_name, mb_9, mb_id
from {$g5['member_table']}
where mb_9 in (select mb_id from {$g5['member_table']} where mb_id = '{$main_name}')
";
[/code]
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인

그런데 이번엔 더 많은 라인을 못불러오네요 ㅠㅠ