그룹 목록 뽑아서 정렬하기

· 2011-11-16 (수) 15:52:32 · 1239 · 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개

2011-11-17 (목) 00:57:56
또 자문자답이네요.^^
정렬에 조건을 걸어서 해결했습니다. 이렇게...

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

그누4 질문답변

66,531건

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

+
제목 글쓴이 날짜 조회
11-11-17 조회 686
11-11-17 조회 661
11-11-17 조회 5,001
11-11-17 조회 709
11-11-17 조회 877
11-11-17 조회 850
11-11-17 조회 840
11-11-17 조회 749
11-11-17 조회 844
11-11-16 조회 1,966
11-11-16 조회 647
11-11-16 조회 935
11-11-16 조회 743
11-11-16 조회 751
11-11-16 조회 1,663
11-11-16 조회 1,286
11-11-16 조회 1,654
11-11-16 조회 1,240
11-11-16 조회 1,632
11-11-16 조회 855