2026.02.20(FRI)_54일차
1. 문제
문제 설명
다음은 식품공장의 주문정보를 담은
FOOD_ORDER 테이블입니다. FOOD_ORDER 테이블은 다음과 같으며 ORDER_ID, PRODUCT_ID, AMOUNT, PRODUCE_DATE, IN_DATEOUT_DATEFACTORY_ID, WAREHOUSE_ID는 각각 주문 ID, 제품 ID, 주문양, 생산일자, 입고일자, 출고일자, 공장 ID, 창고 ID를 의미합니다.Column name | Type | Nullable |
ORDER_ID | VARCHAR(10) | FALSE |
PRODUCT_ID | VARCHAR(5) | FALSE |
AMOUNT | NUMBER | FALSE |
PRODUCE_DATE | DATE | TRUE |
IN_DATE | DATE | TRUE |
OUT_DATE | DATE | TRUE |
FACTORY_ID | VARCHAR(10) | FALSE |
WAREHOUSE_ID | VARCHAR(10) | FALSE |
문제
FOOD_ORDER 테이블에서 2022년 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요. 출고여부는 2022년 5월 1일까지 출고완료로 이 후 날짜는 출고 대기로 미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬해주세요.예시
FOOD_ORDER 테이블이 다음과 같을 때ORDER_ID | PRODUCT_ID | AMOUNT | PRODUCE_DATE | IN_DATE | OUT_DATE | FACTORY_ID | WAREHOUSE_ID |
OD00000051 | P0002 | 4000 | 2022-04-01 | 2022-04-21 | 2022-04-21 | FT19970003 | WH0005 |
OD00000052 | P0003 | 2500 | 2022-04-10 | 2022-04-27 | 2022-04-27 | FT19970003 | WH0006 |
OD00000053 | P0005 | 6200 | 2022-04-15 | 2022-04-30 | 2022-05-01 | FT19940003 | WH0003 |
OD00000054 | P0006 | 1000 | 2022-04-21 | 2022-04-30 | NULL | FT19940003 | WH0009 |
OD00000055 | P0008 | 1500 | 2022-04-25 | 2022-05-11 | 2022-05-11 | FT19980003 | WH0009 |
SQL을 실행하면 다음과 같이 출력되어야 합니다.
ORDER_ID | PRODUCT_ID | OUT_DATE | 출고여부 |
OD00000051 | P0002 | 2022-04-21 | 출고완료 |
OD00000052 | P0003 | 2022-04-27 | 출고완료 |
OD00000053 | P0005 | 2022-05-01 | 출고완료 |
OD00000054 | P0006 | ㅤ | 출고미정 |
OD00000055 | P0008 | 2022-05-11 | 출고대기 |
2. 풀이
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE,'%Y-%m-%d'),
CASE
WHEN OUT_DATE IS NULL
THEN '출고미정'
WHEN OUT_DATE <= '2022-05-01'
THEN '출고완료'
WHEN OUT_DATE > '2022-05-01'
THEN '출고대기'
END '출고여부'
FROM FOOD_ORDER
ORDER BY ORDER_ID;ORDER_ID | PRODUCT_ID | OUT_DATE | 출고여부 |
OD00000036 | P0071 | 2022-03-16 | 출고완료 |
OD00000037 | P0072 | 2022-03-31 | 출고완료 |
OD00000038 | P0073 | 2022-03-31 | 출고완료 |
OD00000039 | P0074 | 2022-03-31 | 출고완료 |
OD00000040 | P0075 | 2022-03-26 | 출고완료 |
OD00000041 | P0081 | ㅤ | 출고미정 |
OD00000042 | P0082 | 2022-03-20 | 출고완료 |
OD00000043 | P0083 | 2022-05-01 | 출고완료 |
OD00000044 | P0084 | 2022-04-30 | 출고완료 |
OD00000045 | P0085 | 2022-05-01 | 출고완료 |
OD00000046 | P0091 | 2022-04-29 | 출고완료 |
OD00000047 | P0092 | 2022-05-01 | 출고완료 |
OD00000048 | P0093 | 2022-05-01 | 출고완료 |
OD00000049 | P0094 | 2022-05-01 | 출고완료 |
OD00000050 | P0095 | 2022-05-12 | 출고대기 |
OD00000051 | P0002 | 2022-04-21 | 출고완료 |
OD00000052 | P0003 | 2022-04-27 | 출고완료 |
OD00000053 | P0005 | 2022-05-01 | 출고완료 |
OD00000054 | P0006 | ㅤ | 출고미정 |
OD00000055 | P0008 | 2022-05-11 | 출고대기 |
OD00000056 | P0012 | 2022-04-25 | 출고완료 |
OD00000057 | P0014 | 2022-05-01 | 출고완료 |
OD00000058 | P0017 | 2022-05-28 | 출고대기 |
OD00000059 | P0017 | 2022-05-30 | 출고대기 |
OD00000060 | P0019 | 2022-06-08 | 출고대기 |
OD00000061 | P0022 | 2022-05-22 | 출고대기 |
OD00000062 | P0022 | 2022-05-29 | 출고대기 |
OD00000063 | P0023 | 2022-05-29 | 출고대기 |
OD00000064 | P0024 | 2022-05-29 | 출고대기 |
OD00000065 | P0025 | 2022-06-01 | 출고대기 |
Share article