[String, Date] 조건별로 분류하여 주문상태 출력하기

쥬쥬스·2023년 11월 16일
0

SQL

목록 보기
56/67
post-thumbnail

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

💡 조건

sql코드

1. IF문

SELECT order_id, product_id, date_format(out_date, "%Y-%m-%d") out_date,
   		if(out_date<="2022-05-01","출고완료", if(out_date is null, "출고미정", "출고대기")) as "출고여부"
FROM food_order
ORDER BY order_id

2. CASE-WHEN문

SELECT order_id, product_id, date_format(out_date, "%Y-%m-%d") out_date,
        (CASE 
            WHEN out_date<="2022-05-01" then "출고완료"
            WHEN out_date is null then "출고미정"
            ELSE "출고대기"
        END) as "출고여부"
FROM food_order
ORDER BY order_id

두 경우 모두 코드를 뜯어볼 정도로 어려운건 아니지만 주로 if문을 사용하니까 CASE-WHEN은 안사용하면 잊어버리게된다. 조건문 사용할때 두개 다 사용해보면서 반복해보는수밖에ㅠ...

profile
느려도... 꾸준히.....🐌

0개의 댓글