
๋ฌธ์
- ํ๋ก๊ทธ๋๋จธ์ค SQL ๋ฌธ์
์๋์ฐจ ๋์ฌ ๊ธฐ๋ก์์ ๋์ฌ์ค / ๋์ฌ ๊ฐ๋ฅ ์ฌ๋ถ ๊ตฌ๋ถํ๊ธฐ/๋ ๋ฒจ 3- ๋ฌธ์ ๋ด์ฉ : ํ๋จ ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ [๋งํฌ]
๋ด๊ฐ ์์ฑํ Query
SELECT CAR_ID , CASE WHEN MIN(START_DATE) <= '2022-10-16' AND MIN(END_DATE) >= '2022-10-16' THEN '๋์ฌ์ค' ELSE '๋์ฌ ๊ฐ๋ฅ' END AS AVAILABILITY FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE END_DATE >= '2022-10-16' GROUP BY CAR_ID ORDER BY CAR_ID DESC;
๋ฌธ์ ์์ ์ฃผ์ด์ง ๊ธฐ์ค์ผ์ด ๋๋ '2022-10-16' ์ด์ ์ ๋์ฌ๊ฐ ๋๋๋ ๋ฐ์ดํฐ๋ค์ ๋์์ด ์๋๋ฏ๋ก, WHERE์ ์ END_DATE >= '2022-10-16' ์กฐ๊ฑด์ ํตํด ํํฐ๋งํ๋ค.
์ฐจ๋๋ณ ๋์ฌ ๊ฐ๋ฅ ์ฌ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํด์ผ ํ๋ฏ๋ก, GROUP BY๋ฅผ ํตํด 'CAR_ID'๋ณ๋ก ๊ทธ๋ฃนํํ๋ค.
๐๐'2022-10-16' ์ดํ์ ๋์ฌ ๋ฐ์ดํฐ๋ค ์ค, ์ฐจ๋๋ณ๋ก ๊ฐ์ฅ '2022-10-16'์ ๊ฐ๊น์ด ๋์ฌ ๋ฐ์ดํฐ๋ค๋ง ์ฌ์ฉ (์ฆ, ๋ฏธ๋์ ์ฌ๋ฌ ๋์ฌ ์์ฝ๋ค ์ค, ๊ฐ์ฅ ์ต๊ทผ์ ๋์ฌ ์์ฝ๋ง ์ฌ์ฉ)
์ด ๋ฌธ์ ํ์ด์ ํต์ฌ์ด๋ผ๊ณ ์๊ฐ.
CASE WHEN THEN ๊ตฌ๋ฌธ์ ํตํด, '2022-10-16' ์ผ์๊ฐ ์ฐจ๋๋ณ MIN(START_DATE)์ MIN(END_DATE) ์ฌ์ด์ ์์ผ๋ฉด '๋์ฌ ์ค', ์๋๋ผ๋ฉด(ELSE) '๋์ฌ ๊ฐ๋ฅ'์ผ๋ก ์ถ๋ ฅ
ORDER BY ์ฌ์ฉํ์ฌ 'CAR_ID' ๊ธฐ์ค ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
