- USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요.
SELECT title
, ub.board_id
, ur.reply_id
, ur.writer_id
, ur.contents
, ub.created_date
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.writer_id = ur.writer_id
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ub.created_date, title
+
1번째 시도
SELECT title
, ub.board_id
, ur.reply_id
, ur.writer_id
, ur.contents
, ub.created_date AS CREATED_DATE
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.writer_id = ur.writer_id
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ub.created_date, title
+
2번째 시도
컬럼명을 CREATED_DATE 로 변경
SELECT title
, ub.board_id
, ur.reply_id
, ur.writer_id
, ur.contents
, SUBSTR(ub.created_date,1,10) AS CREATED_DATE
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.writer_id = ur.writer_id
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ub.created_date, title
+
3번째 시도
포맷형식을 바꾸기 위해 SUBSTR 함수 사용
SELECT ub.title
, ub.board_id
, ur.reply_id
, ur.writer_id
, ur.contents
, SUBSTR(ub.created_date,1,10) AS CREATED_DATE -- 1.포맷예시를 맞추려고 서브스타를 했지만 틀렸음,,
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.board_id = ur.board_id -- 2.조인조건을 바꿨으나 틀렸다함./.,,
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ub.created_date, ub.title
+
4번째 시도
조인 조건을 게시글 ID 로 변경
SELECT ub.title
, ub.board_id
, ur.reply_id
, ur.writer_id
, ur.contents
, SUBSTR(ur.created_date,1,10) AS CREATED_DATE -- 1.포맷예시를 맞추려고 서브스타를 했지만 틀렸음,,
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.board_id = ur.board_id -- 2.조인조건을 바꿨으나 틀렸다함./.,,
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ur.created_date, ub.title -- 3. 댓글작성일로 정렬조건 변경했으나 틀렸음,,
+
5번째 시도
정렬조건을 댓글작성일로 변경
SELECT ub.title
, ub.board_id
, ur.reply_id
, ur.writer_id
, ur.contents
, SUBSTR(ur.created_date,1,10) AS CREATED_DATE -- 1.포맷예시를 맞추려고 서브스타를 했지만 틀렸음,, 4. 댓글작성일 바꾸니까 됐음!!!
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.board_id = ur.board_id -- 2.조인조건을 바꿨으나 틀렸다함./.,,
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ur.created_date, ub.title -- 3. 댓글작성일로 정렬조건 변경했으나 틀렸음,,
+
6번째 시도 정답!!
조회 조건을 댓글 작성일로 변경
다른 풀이 방식
* 포맷형식변경
DATE_FORMAT(변경할 컬럼명, '%Y-%m-%d')
* 22년10월에 작성된 게시글
WHERE DATE_FORMAT(ub.created_date, '%Y-%m') = '2022-10'
'SQL 코드카타' 카테고리의 다른 글
12세 이하인 여자 환자 목록 출력하기 (0) | 2024.03.22 |
---|---|
흉부외과 또는 일반외과 의사 목록 출력하기 (1) | 2024.03.22 |
자동차 대여 기록에서 장기/단기 대여 구분하기 (0) | 2024.03.21 |
조건에 맞는 도서 리스트 출력하기 (0) | 2024.03.20 |
특정 옵션이 포함된 자동차 리스트 구하기 (0) | 2024.03.19 |