본문 바로가기

SQL/프로그래머스

[SQL] 프로그래머스: 조건별로 분류하여 주문상태 출력하기

프로그래머스 SQL 고득점 KIT

String, Date- 조건별로 분류하여 주문상태 출력하기(Level3)

 

 

문제

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

 

답안

-- 1.출력: 주문 ID, 제품 ID, 출고일자, 출고여부
--        (출고여부:5월 1일까지 출고완료/ 이 후 날짜는 출고 대기/ 미정이면 출고미정)
-- 2.필터: 5월 1일을 기준
-- 3.정렬: 주문ID(ASC)

SELECT order_id
      ,product_id
      ,DATE_FORMAT(out_date,'%Y-%m-%d') AS out_date
      ,CASE WHEN out_date <= '2022-05-01' THEN '출고완료'
            WHEN out_date > '2022-05-01' THEN '출고대기'
            ELSE '출고미정' 
       END AS '출고여부'
FROM food_order
ORDER BY order_id

 

#CASE문 이용해서 출고여부 컬럼 생성