그룹 목록 뽑아서 정렬하기

· 14년 전 · 1141 · 1
도저히 혼자서는 해결이 안돼서 다시 질문 드립니다.
이렇게 했습니다.

$sql = " SELECT a.gr_id, a.gr_subject, b.mb_id FROM $g4[group_table] AS a LEFT JOIN $g4[group_member_table] AS b ON a.gr_id = b.gr_id WHERE (a.gr_use_access = '1') group by a.gr_id ORDER BY b.mb_id = '$member[mb_id]' desc, a.gr_id desc";

의도하는 바는... 그룹목록을 뽑아서 이렇게 나열하려고 합니다.
- 그룹접근을 사용하는 그룹이름만 뽑습니다. WHERE (a.gr_use_access = '1')
- 중복나열을 막기 위해 group by a.gr_id
- 자신이 그룹접근 해당 회원이라면 그 그룹을 우선 정렬 ORDER BY b.mb_id = '$member[mb_id]' desc

그런데 당연한 것이겠지만 마지막 우선정렬 조건에 문제가 있습니다. 자신이 해당되는 그룹만 우선정렬되는 것이 아니라 group_member_table에 아무 회원이든 포함되어 있는 그룹은 무조건 우선정렬됩니다. 해당회원이 속한 그룹이 아니더라도 말이죠.

어떻게 해야 제대로 나올까요.
|

댓글 1개

또 자문자답이네요.^^
정렬에 조건을 걸어서 해결했습니다. 이렇게...

if(b.mb_id = '$member[mb_id]',0,1)
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
14년 전 조회 754
14년 전 조회 1,883
14년 전 조회 554
14년 전 조회 839
14년 전 조회 648
14년 전 조회 645
14년 전 조회 1,566
14년 전 조회 1,196
14년 전 조회 1,555
14년 전 조회 1,142
14년 전 조회 1,542
14년 전 조회 759
14년 전 조회 823
14년 전 조회 545
14년 전 조회 1,536
14년 전 조회 724
14년 전 조회 777
14년 전 조회 758
14년 전 조회 647
14년 전 조회 949
🐛 버그신고