๋ฌธ์
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ ์ด๋ธ์์ 2022๋ 10์ 16์ผ์ ๋์ฌ ์ค์ธ ์๋์ฐจ์ธ ๊ฒฝ์ฐ '๋์ฌ์ค' ์ด๋ผ๊ณ ํ์ํ๊ณ , ๋์ฌ ์ค์ด์ง ์์ ์๋์ฐจ์ธ ๊ฒฝ์ฐ '๋์ฌ ๊ฐ๋ฅ'์ ํ์ํ๋ ์ปฌ๋ผ(์ปฌ๋ผ๋ช : AVAILABILITY)์ ์ถ๊ฐํ์ฌ ์๋์ฐจ ID์ AVAILABILITY ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
์ด๋ ๋ฐ๋ฉ ๋ ์ง๊ฐ 2022๋ 10์ 16์ผ์ธ ๊ฒฝ์ฐ์๋ '๋์ฌ์ค'์ผ๋ก ํ์ํด์ฃผ์๊ณ ๊ฒฐ๊ณผ๋ ์๋์ฐจ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
ํ์ด
SELECT CAR_ID,
CASE
WHEN CAR_ID IN(
SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE "2022-10-16" BETWEEN START_DATE AND END_DATE
) THEN "๋์ฌ์ค"
ELSE "๋์ฌ ๊ฐ๋ฅ"
END AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC
1. "๋์ฌ ์ค" "๋์ฌ ๊ฐ๋ฅ" ์ปฌ๋ผ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ง๋ค์ด ์ค์ผ ํ๊ธฐ์ CASE-WHEN ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค. CASE-WHEN ์์์ ๋์ฌ ๋ถ๊ฐ๋ฅํ CAR_ID๋ฅผ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ํตํด ๊ฐ์ ธ์ต๋๋ค.
2. ์ฐจ๋ ID๋ฅผ ์ฐจ๋ID ๋ด๋ฆผ ์ฐจ์์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ ์ํด GROUP BY์ ORDER BY๋ฅผ ์ฌ์ฉํฉ๋๋ค.
'๐ป CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ก๋ ๋ฐธ๋ฐ์ (Load Balancer) (0) | 2025.03.10 |
---|---|
200๋ ๊ฐ ํ๊ด์๋ จํ๋๋ PS ์ต๊ฐ์๊ฐ ๋ ๊ฑด์ ๋ํ์ฌ (0) | 2025.02.18 |
0-1 Knapsack Problem ์ต์ ํ (DP ๋ฉ๋ชจ๋ฆฌ) (0) | 2025.01.04 |
[Advent of Code] Day 1 Historian Hysteria (0) | 2024.12.01 |
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] ์๊ตฌ์ฌํญ ํ์ธ (1) - ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก (0) | 2024.03.31 |