본문 바로가기
ProgramSolve/Programmers

[Programmers] 조건에 부합하는 중고거래 상태 조회하기 (MySQL)

by SooooooooS 2024. 2. 6.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/164672

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


🗒️ ERD


✏️ 제출 정답 코드

SELECT
    BOARD_ID,
    WRITER_ID,
    TITLE,
    PRICE,
    (
    CASE STATUS
        WHEN 'SALE' THEN '판매중'
        WHEN 'RESERVED' THEN '예약중'
        WHEN 'DONE' THEN '거래완료'
        ELSE 'ERROR'
    END
    ) AS STATUS
FROM USED_GOODS_BOARD
WHERE DATEDIFF('2022-10-05', CREATED_DATE) = 0
ORDER BY BOARD_ID DESC;

📌 SQL문 정리

2022년 10월 5일에 등록된 중고거래

2022-10-05 날짜와 차이를 구해서 0일 경우로 생각했다.

 

거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력

→ Status의 값에 따라 매치되는 값을 입력해야하므로 SWITCH문을 사용했다.

 

case문 정리

 

[SQL] CASE Statement (MySQL)

※ 문제 풀이를 하면서 SQL 복습 정리 ※ 📖 참고 및 공식문서 CASE문 https://dev.mysql.com/doc/refman/8.0/en/case.html MySQL :: MySQL 8.0 Reference Manual :: 15.6.5.1 CASE Statement CASE case_value WHEN when_value THEN statement_list [

soo-note.tistory.com

 

728x90