728x90
반응형
💬 내가 작성한 SQL 코드 (실패 코드) = WHERE 문이 잘못됨
SELECT A.TITLE, A.BOARD_ID, B.REPLY_ID,
B.WRITER_ID, B.CONTENTS,
DATE_FORMAT(B.CREATED_DATE,'%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD AS A
INNER JOIN USED_GOODS_REPLY AS B
ON A.BOARD_ID = B.BOARD_ID
WHERE DATE_FORMAT(B.CREATED_DATE,'%Y-%m') = '2022-10'
ORDER BY B.CREATED_DATE ASC, A.TITLE ASC;
# 댓글 작성일이 같다면 제목 기준으로 오름차순
# 게시글 제목, 게시글 ID, 댓글 ID, 댓글작성자 ID, 댓글내용, 댓글작성일
💬 내가 작성한 SQL 코드 (성공 코드)
SELECT A.TITLE, A.BOARD_ID, B.REPLY_ID,
B.WRITER_ID, B.CONTENTS,
DATE_FORMAT(B.CREATED_DATE,'%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD AS A
INNER JOIN USED_GOODS_REPLY AS B
ON A.BOARD_ID = B.BOARD_ID
WHERE SUBSTR(A.CREATED_DATE,1,7) = '2022-10'
ORDER BY B.CREATED_DATE ASC, A.TITLE ASC;
WHERE문에서 왜 B.CREATED_DATE가 아닌 A.CREATED_DATE인지 한참 고민했습니다.
A.CREATED_DATE는 게시글 작성 일시를 의미하고,
B.CREATED_DATE는 댓글 작성 일시를 의미합니다.
때문에 게시글 작성 일시를 의미하는 A.CREATED_DATE가 정답이 맞습니다.
또한, DATE_FORMAT(A.CREATED_DATE, '%Y-%m') = '2022-10'과
SUBSTR(A.CREATED_DATE, 1, 7) = '2022-10'은 같은 의미입니다.
728x90
'자료구조 및 알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 흉부외과 또는 일반외과 의사 목록 출력하기 (SQL) (0) | 2024.04.17 |
---|---|
프로그래머스 - 3월에 태어난 여성 회원 목록 출력하기 (SQL) (0) | 2024.04.17 |
프로그래머스 - 12세 이하인 여자 환자 목록 출력하기 (SQL) (0) | 2024.04.16 |
프로그래머스 - 평균 일일 대여 요금 구하기 (SQL) (0) | 2024.04.15 |
프로그래머스 - 조건에 맞는 도서 리스트 출력하기 (SQL) (0) | 2024.04.15 |