https://school.programmers.co.kr/learn/courses/30/lessons/131113
코딩테스트 연습 > String, Date > 조건별로 분류하여 주문상태 출력하기
문제 분석
난이도: LEVEL3
문제 요구사항
FOOD_ORDER 테이블에서 2022년 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요.
출고여부는 2022년 5월 1일까지 출고완료로 이 후 날짜는 출고 대기로 미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬해주세요.
정답 코드
SELECT ORDER_ID, PRODUCT_ID,
DATE_FORMAT(OUT_DATE, '%Y-%m-%d') OUT_DATE,
CASE
WHEN OUT_DATE IS NULL THEN '출고미정'
WHEN OUT_DATE > '2022-05-01' THEN '출고대기'
ELSE '출고완료'
END 출고여부
FROM FOOD_ORDER
ORDER BY 1
OUT_DATE
그대로 출력하면 시간-분-초 포맷도 함께 나온다 년-월-일 포맷만 나오도록 DATE_FORMAT 활용
출고여부 (2022년 05월 01일 기준)
만약 OUT_DATE가 NULL 이면 출고미정
OUT_DATE가 2022-05-01 이하면 출고완료
OUT_DATE가 2022-05-01 초과면 출고대기
조건별로 분류를 위해 CASE WHEN 사용
'Algorithm > Programmers SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 오랜 기간 보호한 동물(2) (0) | 2024.09.16 |
---|---|
[MySQL] 프로그래머스 헤비 유저가 소유한 장소 (0) | 2024.09.16 |
[MySQL] 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.09.16 |
[MySQL] 프로그래머스 카테고리 별 도서 판매량 집계하기 (1) | 2024.09.16 |
[MySQL] 프로그래머스 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.09.16 |