카테고리 없음

프로그래머스 조건별로 분류하여 주문상태 출력하기 [Lv. 3] (MySQL)

우대비 2024. 11. 11. 23:21
반응형
 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

FOOD_ORDER 테이블에서 2022년 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요. 출고여부는 2022년 5월 1일까지 출고완료로 이 후 날짜는 출고 대기미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬해주세요.

 

 

방법 1. IF

SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE, 
    IF (DATE(OUT_DATE) <= '2022-05-01', '출고완료',
        IF (OUT_DATE IS NULL, '출고미정',
            IF (DATE(OUT_DATE) > '2022-05-01', '출고대기', ''))) AS 출고여부
            
FROM FOOD_ORDER
ORDER BY ORDER_ID

 

방법 2. CASE

SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE, 
    CASE
        WHEN OUT_DATE IS NULL THEN '출고미정'
        WHEN DATE(OUT_DATE) <= '2022-05-01' THEN '출고완료'
        WHEN DATE(OUT_DATE) > '2022-05-01' THEN '출고대기'
        ELSE ''
    END AS 출고여부
FROM FOOD_ORDER
ORDER BY ORDER_ID;
반응형
LIST