노아

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

알고리즘/SQL

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

Noaahhh 2024. 9. 16. 17:28

 

Question

 

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

 

 

Pseudocode

 

 

  1. FOOD_ORDER 테이블에서 ORDER_ID, PRODUCT_ID, 그리고 OUT_DATE를 'YYYY-MM-DD' 형식으로 변환하여 선택.
  2. OUT_DATE에 따라 다음과 같이 출고여부를 결정:
    • OUT_DATE가 '2022-05-01' 이전이면 '출고완료'
    • OUT_DATE가 '2022-05-01' 이후면 '출고대기'
    • 그 외의 경우는 '출고미정'
  3. ORDER_ID를 기준으로 오름차순 정렬.

 

 

 

Code

 

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