프로그래머스 > 2. 조건에 부합하는 중고거래 댓글 조회하기

SeiLyn·2023년 9월 15일

프로그래머스

목록 보기
2/6
post-thumbnail

❓ 문제

프로그래머스 Level 1 연습문제 > 조건에 부합하는 중고거래 댓글 조회하기


❗ 해결

USED_GOODS_BOARD라는 게시글 테이블과, USER_GOODS_REPLY라는 댓글 테이블이 주어진다.
두 테이블을 JOIN하여 문제의 정답에 해당하는 컬럼만 뽑아낸다.
KEY는 BOARD_ID로 JOIN하면 되며, 정답 포맷중 CREATED_DATE는 FORMAT가 DATE여서 실제로 쿼리해보면 'YYYY-MM-DD:HH-MM-SS'로 나온다.
이를 TO_CHAR을 사용하여 시간 정보를 빼면 된다.

✅코드

SELECT 
    A.TITLE,        A.BOARD_ID,    B.REPLY_ID,
    B.WRITER_ID,    B.CONTENTS,    TO_CHAR(B.CREATED_DATE, 'YYYY-MM-DD') AS CREATED_DATE
    
  FROM USED_GOODS_BOARD A
  
  INNER JOIN USED_GOODS_REPLY B
     ON A.BOARD_ID = B.BOARD_ID
  
 WHERE A.CREATED_DATE BETWEEN TO_DATE('2022-10-01', 'YYYY-MM-DD') AND TO_DATE('2022-10-31', 'YYYY-MM-DD') 
 
 ORDER BY B.CREATED_DATE ASC, A.TITLE ASC

처음에 게시글 날짜가 아닌 댓글 작성 날짜를 BETWEEN을 사용하여 10월치 데이터를 뽑아내서 실패했다. 문제를 조금 더 잘 읽었어야 했는데 실수였던 것 같다.
SELECT문에서는 포맷에 맞게 시간 정보를 제외시킨 후 출력하였으며, 마지막 정렬 조건에서 댓글 작성일, 게시글 제목 순대로 ORDER BY를 사용하여 정렬을 하였다.

0개의 댓글