하나의 테이블에서 원글의 답글과 댓글의 답글을 모두 해결하는 방식을 찾고자 합니다.
테이블의 구조를 다음과 같이 구성합니다.
컬럼명 |
종류 | 설명 |
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개
이것을 간과했네요.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7530 | 10년 전 | 793 | ||
| 7529 |
파랑새1597
|
10년 전 | 1215 | |
| 7528 |
파랑새1597
|
10년 전 | 1315 | |
| 7527 |
integrity7
|
10년 전 | 1401 | |
| 7526 | 10년 전 | 2414 | ||
| 7525 |
다빈치코드777
|
10년 전 | 1105 | |
| 7524 | 10년 전 | 1574 | ||
| 7523 | 10년 전 | 960 | ||
| 7522 |
|
10년 전 | 992 | |
| 7521 |
blackkil
|
10년 전 | 1873 | |
| 7520 | 10년 전 | 1299 | ||
| 7519 |
Gaumi
|
10년 전 | 1082 | |
| 7518 | 10년 전 | 1485 | ||
| 7517 | 10년 전 | 836 | ||
| 7516 | 10년 전 | 1289 | ||
| 7515 | 10년 전 | 1404 | ||
| 7514 |
|
10년 전 | 4487 | |
| 7513 |
멋진남자임
|
10년 전 | 1136 | |
| 7512 |
다빈치코드777
|
10년 전 | 876 | |
| 7511 |
|
10년 전 | 3401 | |
| 7510 | 10년 전 | 1367 | ||
| 7509 | 10년 전 | 1144 | ||
| 7508 | 10년 전 | 716 | ||
| 7507 |
senseme
|
10년 전 | 747 | |
| 7506 |
멋진남자임
|
10년 전 | 1641 | |
| 7505 | 10년 전 | 4013 | ||
| 7504 | 10년 전 | 2145 | ||
| 7503 | 10년 전 | 992 | ||
| 7502 | 10년 전 | 518 | ||
| 7501 | 10년 전 | 1444 | ||
| 7500 | 10년 전 | 1494 | ||
| 7499 | 10년 전 | 3391 | ||
| 7498 | 10년 전 | 1222 | ||
| 7497 |
dethos79
|
10년 전 | 2966 | |
| 7496 | 10년 전 | 2155 | ||
| 7495 | 10년 전 | 870 | ||
| 7494 |
CHAVO
|
10년 전 | 1131 | |
| 7493 | 10년 전 | 2649 | ||
| 7492 | 10년 전 | 1274 | ||
| 7491 | 10년 전 | 1486 | ||
| 7490 | 10년 전 | 2337 | ||
| 7489 | 10년 전 | 2123 | ||
| 7488 |
toptopon
|
10년 전 | 891 | |
| 7487 |
|
10년 전 | 1033 | |
| 7486 | 10년 전 | 3357 | ||
| 7485 | 10년 전 | 1313 | ||
| 7484 | 10년 전 | 1376 | ||
| 7483 | 10년 전 | 1025 | ||
| 7482 | 10년 전 | 654 | ||
| 7481 | 10년 전 | 858 | ||
| 7480 | 10년 전 | 1233 | ||
| 7479 | 10년 전 | 2605 | ||
| 7478 | 10년 전 | 1176 | ||
| 7477 |
멋진남자임
|
10년 전 | 1526 | |
| 7476 |
zeppeto
|
10년 전 | 1145 | |
| 7475 |
200점아빠
|
10년 전 | 912 | |
| 7474 | 10년 전 | 4005 | ||
| 7473 | 10년 전 | 999 | ||
| 7472 |
나르시스1
|
10년 전 | 1245 | |
| 7471 | 10년 전 | 874 | ||
| 7470 | 10년 전 | 1284 | ||
| 7469 |
플라이SINJI
|
10년 전 | 983 | |
| 7468 |
|
10년 전 | 554 | |
| 7467 |
|
10년 전 | 668 | |
| 7466 | 10년 전 | 1122 | ||
| 7465 | 10년 전 | 1186 | ||
| 7464 |
|
10년 전 | 1191 | |
| 7463 | 10년 전 | 1255 | ||
| 7462 |
진짜별사탕
|
10년 전 | 858 | |
| 7461 | 10년 전 | 949 | ||
| 7460 | 10년 전 | 3734 | ||
| 7459 |
멋진남자임
|
10년 전 | 1556 | |
| 7458 |
멋진남자임
|
10년 전 | 484 | |
| 7457 | 10년 전 | 923 | ||
| 7456 | 10년 전 | 764 | ||
| 7455 | 10년 전 | 2162 | ||
| 7454 | 10년 전 | 630 | ||
| 7453 | 10년 전 | 830 | ||
| 7452 |
중국어사이트제작
|
10년 전 | 506 | |
| 7451 | 10년 전 | 906 | ||
| 7450 | 10년 전 | 630 | ||
| 7449 |
울라라라우
|
10년 전 | 954 | |
| 7448 | 10년 전 | 1637 | ||
| 7447 |
멋진남자임
|
10년 전 | 511 | |
| 7446 | 10년 전 | 550 | ||
| 7445 |
네이비칼라
|
10년 전 | 1677 | |
| 7444 |
senseme
|
10년 전 | 1409 | |
| 7443 | 10년 전 | 1342 | ||
| 7442 | 10년 전 | 729 | ||
| 7441 |
멋진남자임
|
10년 전 | 1438 | |
| 7440 | 10년 전 | 911 | ||
| 7439 |
|
10년 전 | 764 | |
| 7438 |
|
10년 전 | 938 | |
| 7437 |
basement
|
10년 전 | 1038 | |
| 7436 |
잘살아보자
|
10년 전 | 1128 | |
| 7435 | 10년 전 | 1088 | ||
| 7434 | 10년 전 | 3792 | ||
| 7433 |
|
10년 전 | 2743 | |
| 7432 |
alexkim
|
10년 전 | 863 | |
| 7431 |
이웃집초보
|
11년 전 | 1312 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기