dev/db

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

캄춰 2023. 10. 12. 09:47
728x90
반응형

Programmers / MySQL / Lv.3

 

더보기

5월 1일 기준이라는 말이 정말 이해가 가지 않았다

그래서 PRODUCE_DATE를 5월 1일 기준으로 잡아야 하나 고민 하는 시간이 있었고,

입고날짜라는 컬럼이 있는 것이 무슨 의미일까 고민하였다

물건을 생산하면 '생산날짜'가 있을 것이고, 그 생산한 물건을 출고하면 '출고날짜'가 있을텐데

'입고날짜'는 무엇을 의미하는 것인지... 반품을 뜻하는 것일까?

 

무튼 여러 고민 끝에 아무것도 되지 않기 때문에 문제의 지시대로 값을 출력하였더니 되었다

너무 고민하지 말자

 

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
-- WHERE PRODUCE_DATE LIKE '%05-01%'
ORDER BY ORDER_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 '출고여부'

: 5월 1일까지이기 때문에 출고날짜(OUT_DATE)가 '2022-05-01'날짜보다 적어야 함

: 좀 더 명확히 해주려면 DATE('2022-05-01')이라고 기입


FROM FOOD_ORDER
-- WHERE PRODUCE_DATE LIKE '%05-01%'
ORDER BY ORDER_ID ASC;

 

 

 

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/131113

728x90
반응형