하나의 테이블에서 원글의 답글과 댓글의 답글을 모두 해결하는 방식을 찾고자 합니다.
테이블의 구조를 다음과 같이 구성합니다.
컬럼명 |
종류 | 설명 |
wr_id |
int | 고유아이디 |
wr_parent |
int | 부모아이디 |
wr_comment |
int | 0이면 원글, 아니면 댓글 |
wr_reply | varchar(10) | 0~9 그리고 a~z 36진수 사용 0은 제외 깊이는 10개 까지로 한정함 |
wr_comment_cnt | int | 원글에서 댓글의 수를 저장 |
wr_subject | varchar(255) | 제목 |
글이 다음과 같이 저장되어 있다고 했을때
SQL 질의: SELECT * FROM `a_write` LIMIT 0, 25 ;
행 : 14
| wr_id | wr_parent | wr_comment | wr_reply | wr_comment_cnt | wr_subject |
|---|---|---|---|---|---|
| 1 | 1 | 0 | 5 | 원글1 | |
| 2 | 1 | 0 | 1 | 0 | 원글1-1 |
| 3 | 1 | 0 | 2 | 0 | 원글1-2 |
| 4 | 1 | 0 | 11 | 0 | 원글1-1-1 |
| 5 | 2 | 0 | 0 | 원글2 | |
| 6 | 2 | 0 | 1 | 0 | 원글2-1 |
| 7 | 1 | 1 | 1 | 댓글1 | |
| 8 | 1 | 2 | 2 | 댓글2 | |
| 9 | 1 | 3 | 0 | 댓글3 | |
| 10 | 1 | 2 | 1 | 0 | 댓글2-1 |
| 11 | 1 | 2 | 11 | 0 | 댓글2-1-1 |
| 12 | 1 | 1 | 1 | 0 | 댓글1-1 |
| 13 | 2 | 0 | 2 | 0 | 원글2-2 |
| 14 | 1 | 0 | 21 | 0 | 원글1-2-1 |
원글을 표시할때는 이 쿼리를 실행합니다.
답변의 깊이(depth)는 wr_reply 의 갯수로 처리할수 있습니다.
SQL 질의: SELECT * FROM `a_write` where wr_comment = 0 order by wr_parent desc, wr_reply LIMIT 0, 25 ;
행 : 8
| wr_id | wr_parent | wr_comment | wr_reply | wr_comment_cnt | wr_subject |
|---|---|---|---|---|---|
| 5 | 2 | 0 | 0 | 원글2 | |
| 6 | 2 | 0 | 1 | 0 | 원글2-1 |
| 13 | 2 | 0 | 2 | 0 | 원글2-2 |
| 1 | 1 | 0 | 5 | 원글1 | |
| 2 | 1 | 0 | 1 | 0 | 원글1-1 |
| 4 | 1 | 0 | 11 | 0 | 원글1-1-1 |
| 3 | 1 | 0 | 2 | 0 | 원글1-2 |
| 14 | 1 | 0 | 21 | 0 | 원글1-2-1 |
1번 게시물 만을 모아보는 경우에는 이렇게 쉽게 처리할수 있습니다.
SQL 질의: SELECT * FROM `a_write` where wr_parent=1 and wr_comment = 0 order by wr_parent desc, wr_reply LIMIT 0, 25 ;
행 : 5
| wr_id | wr_parent | wr_comment | wr_reply | wr_comment_cnt | wr_subject |
|---|---|---|---|---|---|
| 1 | 1 | 0 | 5 | 원글1 | |
| 2 | 1 | 0 | 1 | 0 | 원글1-1 |
| 4 | 1 | 0 | 11 | 0 | 원글1-1-1 |
| 3 | 1 | 0 | 2 | 0 | 원글1-2 |
| 14 | 1 | 0 | 21 | 0 | 원글1-2-1 |
1번의 코멘트 만 노출하는 경우에는 이렇게 처리합니다.
SQL 질의: SELECT * FROM `a_write` where wr_parent = 1 and wr_comment > 0 order by wr_comment, wr_reply LIMIT 0, 25 ;
행 : 6
| wr_id | wr_parent | wr_comment | wr_reply | wr_comment_cnt | wr_subject |
|---|---|---|---|---|---|
| 7 | 1 | 1 | 1 | 댓글1 | |
| 12 | 1 | 1 | 1 | 0 | 댓글1-1 |
| 8 | 1 | 2 | 2 | 댓글2 | |
| 10 | 1 | 2 | 1 | 0 | 댓글2-1 |
| 11 | 1 | 2 | 11 | 0 | 댓글2-1-1 |
| 9 | 1 | 3 | 0 | 댓글3 |
위와 같이 몇개 안되는 샘플 데이트로 살펴 보았지만 충분히 원글의 답글과 댓글의 답글을 표현할수 있는것을 확인하였습니다.
댓글 1개
이것을 간과했네요.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7130 | 11년 전 | 2303 | ||
| 7129 | 11년 전 | 709 | ||
| 7128 |
senseme
|
11년 전 | 1293 | |
| 7127 | 11년 전 | 1164 | ||
| 7126 | 11년 전 | 818 | ||
| 7125 | 11년 전 | 2947 | ||
| 7124 | 11년 전 | 1419 | ||
| 7123 |
잘살아보자
|
11년 전 | 1285 | |
| 7122 |
잘살아보자
|
11년 전 | 684 | |
| 7121 |
잘살아보자
|
11년 전 | 3036 | |
| 7120 |
잘살아보자
|
11년 전 | 2905 | |
| 7119 |
잘살아보자
|
11년 전 | 725 | |
| 7118 |
잘살아보자
|
11년 전 | 3427 | |
| 7117 |
잘살아보자
|
11년 전 | 848 | |
| 7116 | 11년 전 | 739 | ||
| 7115 | 11년 전 | 1027 | ||
| 7114 | 11년 전 | 839 | ||
| 7113 | 11년 전 | 656 | ||
| 7112 | 11년 전 | 1080 | ||
| 7111 | 11년 전 | 1799 | ||
| 7110 | 11년 전 | 1033 | ||
| 7109 |
버섯먹은나
|
11년 전 | 802 | |
| 7108 | 11년 전 | 635 | ||
| 7107 | 11년 전 | 2402 | ||
| 7106 | 11년 전 | 1954 | ||
| 7105 | 11년 전 | 2480 | ||
| 7104 | 11년 전 | 1423 | ||
| 7103 |
|
11년 전 | 2702 | |
| 7102 | 11년 전 | 3115 | ||
| 7101 | 11년 전 | 4438 | ||
| 7100 | 11년 전 | 5791 | ||
| 7099 | 11년 전 | 2134 | ||
| 7098 | 11년 전 | 1716 | ||
| 7097 | 11년 전 | 1450 | ||
| 7096 | 11년 전 | 1123 | ||
| 7095 |
잘살아보자
|
11년 전 | 854 | |
| 7094 |
잘살아보자
|
11년 전 | 1054 | |
| 7093 |
잘살아보자
|
11년 전 | 930 | |
| 7092 |
잘살아보자
|
11년 전 | 1408 | |
| 7091 |
잘살아보자
|
11년 전 | 2208 | |
| 7090 |
잘살아보자
|
11년 전 | 886 | |
| 7089 | 11년 전 | 1058 | ||
| 7088 | 11년 전 | 1707 | ||
| 7087 | 11년 전 | 1404 | ||
| 7086 | 11년 전 | 1308 | ||
| 7085 |
|
11년 전 | 1226 | |
| 7084 | 11년 전 | 1148 | ||
| 7083 | 11년 전 | 3499 | ||
| 7082 | 11년 전 | 1147 | ||
| 7081 | 11년 전 | 1733 | ||
| 7080 | 11년 전 | 2015 | ||
| 7079 | 11년 전 | 1325 | ||
| 7078 | 11년 전 | 1299 | ||
| 7077 | 11년 전 | 1298 | ||
| 7076 | 11년 전 | 763 | ||
| 7075 | 11년 전 | 1149 | ||
| 7074 |
네이비칼라
|
11년 전 | 1501 | |
| 7073 | 11년 전 | 1472 | ||
| 7072 |
|
11년 전 | 829 | |
| 7071 | 11년 전 | 1203 | ||
| 7070 | 11년 전 | 930 | ||
| 7069 | 11년 전 | 1700 | ||
| 7068 | 11년 전 | 1351 | ||
| 7067 |
TPSint
|
11년 전 | 736 | |
| 7066 | 11년 전 | 2149 | ||
| 7065 | 11년 전 | 6646 | ||
| 7064 | 11년 전 | 1290 | ||
| 7063 | 11년 전 | 1134 | ||
| 7062 | 11년 전 | 1071 | ||
| 7061 | 11년 전 | 913 | ||
| 7060 | 11년 전 | 1465 | ||
| 7059 | 11년 전 | 872 | ||
| 7058 |
EngineMan
|
11년 전 | 3404 | |
| 7057 | 11년 전 | 1245 | ||
| 7056 | 11년 전 | 1635 | ||
| 7055 | 11년 전 | 1014 | ||
| 7054 | 11년 전 | 2653 | ||
| 7053 |
네이비칼라
|
11년 전 | 1285 | |
| 7052 | 11년 전 | 2579 | ||
| 7051 | 11년 전 | 1936 | ||
| 7050 | 11년 전 | 2451 | ||
| 7049 | 11년 전 | 1403 | ||
| 7048 | 11년 전 | 2532 | ||
| 7047 | 11년 전 | 1353 | ||
| 7046 | 11년 전 | 1036 | ||
| 7045 | 11년 전 | 1061 | ||
| 7044 | 11년 전 | 5437 | ||
| 7043 | 11년 전 | 1230 | ||
| 7042 | 11년 전 | 786 | ||
| 7041 |
열라뽕똬이
|
11년 전 | 757 | |
| 7040 | 11년 전 | 1112 | ||
| 7039 | 11년 전 | 1463 | ||
| 7038 | 11년 전 | 1877 | ||
| 7037 | 11년 전 | 2179 | ||
| 7036 | 11년 전 | 1084 | ||
| 7035 | 11년 전 | 1402 | ||
| 7034 | 11년 전 | 1354 | ||
| 7033 |
열라뽕똬이
|
11년 전 | 996 | |
| 7032 | 11년 전 | 750 | ||
| 7031 | 11년 전 | 2181 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기