제목 : Re : 게시판 리스트 관련
글번호:
|
|
1101
|
작성자:
|
|
hatukoi
|
작성일:
|
|
2006/04/27 오후 2:28:00
|
조회수:
|
|
2643
|
reg+의 뒤를 잇는 새로운 닉네임이군요 ㅎㅎ
저도 하나 만들어야 하는데 워낙 오래전부터 써온 닉이 있는 관계로 바꾸기가 쉽지
않네요 ㅎㅎ
각설 하고 반갑습니다 저는 박샘의 자칭 열혈 제자 hatukoi라고 합니다.
단도직입적으로 말씀드리면 말씀하신것은 쿼리상에서 가능할거 같습니다.
한 글에 대한 답글들의 총수를 해당 글의 옆에 출력하고자 하시는거로 보입니다.
그럼 결국 디비의 값에는 부모값컬럼과 자식값의 순서컬럼이 잇겟지요.
물론 부모값컬럼이 부모글일 경우에는 그냥 0 같은 기본값일테구요...
select * from board 하면 모든 글이 나오겟지만 일단 화면상에 부모글만 나온다면
select * from board where parentNum=0 처럼 하셔야겟지요
그런 후 그냥 그리드에 바인딩! 하면 끝나는게 일반적이지만 님 같은 경우는
그 부모값에 대한 자식글들의 숫자를 카운트 해서 일정한 컨트롤에 바인딩 해줘야
겟네요....
select *, () as replycount from board where parentNum=0
라는 쿼리를 보시면 () as replycount 라고 새로운 컬럼을 만들고 거기에 각각의 부모글에 자식글들의 총합을 모아서 넣어주면 되겟죠.
()를 완성합니다.
select count(*) from board 하면 갯수가 나오겟지만 단순히 그래서는 답이 안나옵니다.
하위쿼리와 조인을 동시에 수행합니다.
select *,
(select count(*) from board b where b.parentNum = a.num) as replycount
from board a
where parentNum=0
즉, 하나의 부모글을 셀렉트 할때마다 그 부모글의 번호를 자신의 부모글 번호로 가진
녀석들의 숫자를 카운트 하는것이죠...
음...될지 않될지 모르겟습니다.실행은 안해봐서;;
안되도 제탓은 하지 말아주세요 ㅠㅜ