[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv3. ์กฐ๊ฑด๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์ฃผ๋ฌธ์ƒํƒœ ์ถœ๋ ฅํ•˜๊ธฐ

2023. 2. 21. 10:32ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2023

728x90

 

๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ์€ ์‹ํ’ˆ๊ณต์žฅ์˜ ์ฃผ๋ฌธ์ •๋ณด๋ฅผ ๋‹ด์€ FOOD_ORDER ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. FOOD_ORDER ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ ORDER_ID, PRODUCT_ID, AMOUNT, PRODUCE_DATE, IN_DATE,OUT_DATE,FACTORY_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 ํ…Œ์ด๋ธ”์—์„œ 5์›” 1์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์ฃผ๋ฌธ ID, ์ œํ’ˆ ID, ์ถœ๊ณ ์ผ์ž, ์ถœ๊ณ ์—ฌ๋ถ€๋ฅผ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ถœ๊ณ ์—ฌ๋ถ€๋Š” 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 ์ถœ๊ณ ๋Œ€๊ธฐ

 

 

๋‚˜์˜ ํ’€์ด MySql 

CASE WHEN THEN ์„ ์‚ฌ์šฉํ•ด์„œ 2022-05-01๋ณด๋‹ค OUT_DATE๊ฐ€ ์ ์œผ๋ฉด ์ถœ๊ณ ์™„๋ฃŒ์ด๊ณ , 2022-05-01์„ ๋„˜์œผ๋ฉด ์ถœ๊ณ  ๋Œ€๊ธฐ๋กœ ์ง€์ •ํ•ด์ฃผ๊ณ  NULL ๊ฐ’์€ ์ถœ๊ณ ๋ฏธ์ •์œผ๋กœ ์ถœ๋ ฅํ•˜๋„๋ก ์„ค์ •ํ–ˆ๋‹ค. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90