๊ด€๋ฆฌ ๋ฉ”๋‰ด

Welcome! Everything is fine.

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Lv.3] ์ž๋™์ฐจ ๋Œ€์—ฌ ๊ธฐ๋ก์—์„œ ๋Œ€์—ฌ์ค‘ / ๋Œ€์—ฌ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ๊ตฌ๋ถ„ํ•˜๊ธฐ - MySQL ๋ณธ๋ฌธ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Lv.3] ์ž๋™์ฐจ ๋Œ€์—ฌ ๊ธฐ๋ก์—์„œ ๋Œ€์—ฌ์ค‘ / ๋Œ€์—ฌ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ๊ตฌ๋ถ„ํ•˜๊ธฐ - MySQL

๊ฐœ๋ฐœ๊ณฐ๋ฐœ 2024. 4. 9.
728x90

๐Ÿ“Œ ๋ฌธ์ œ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

๐Ÿ“Œ ์ •๋‹ต

CASE๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๋ง‰ํ˜€์„œ ์ฐพ์•„๋ณธ ๋ฌธ์ œ์ด๋‹ค. CAR_ID ๋ณ„๋กœ ๋ฌถ์€ ํ›„ ๋‚ ์งœ๊ฐ€ 2022๋…„ 10์›” 16์ผ ์‚ฌ์ด์— ์žˆ์œผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค. ๊ทธ ํ•ฉ๊ณ„๊ฐ€ 0์ด๋ฉด ๋Œ€์—ฌ๊ฐ€๋Šฅ, ์•„๋‹ˆ๋ฉด ๋Œ€์—ฌ์ค‘์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ์ด ๋ถ€๋ถ„์ด ์–ด๋ ค์›Œ ์กฐ๊ธˆ ํ—ค๋งธ๋‹ค.

SELECT CAR_ID, 
CASE
    WHEN 
        SUM(CASE 
                WHEN '2022-10-16' BETWEEN START_DATE AND END_DATE 
                THEN 1 ELSE 0 
            END) = 0
    THEN '๋Œ€์—ฌ ๊ฐ€๋Šฅ' ELSE '๋Œ€์—ฌ์ค‘'
END AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC