SQL 고득점 Kit - 7.30

김동현·2024년 8월 13일

SQL 고득점 Kit

목록 보기
25/56

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

문제

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

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

풀이

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를 사용했는데 인터넷에서는 CASE 옆에 칼럼명을 작성해서 따라하니 틀렸다... 안 쓰는게 맞는 거 같음...
  • 이제 날짜 형식을 바꾸는 것을 찾지 않고 바로 작성할 수 있게 되었다~
  • 사실 부모 유전 형질 코테를 풀다가 문제 해석은 할 수 있었는데 풀이 방식이 도무지 생각이 안 나서 도전하다가 다른 문제로 도망쳤는데 좀 더 SQL 문법과 함수? 등을 공부해야 풀 수 있을 것 같다 (문제 해석만 되면 반은 푼 것임)

GitHub

https://github.com/lasentia/SQL_Study/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/3/131113.%E2%80%85%EC%A1%B0%EA%B1%B4%EB%B3%84%EB%A1%9C%E2%80%85%EB%B6%84%EB%A5%98%ED%95%98%EC%97%AC%E2%80%85%EC%A3%BC%EB%AC%B8%EC%83%81%ED%83%9C%E2%80%85%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0

profile
'The best way to get started is to quit talking and begin doing.'

0개의 댓글