알고리즘/SQL

자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

베리영young 2024. 10. 31. 16:14

대체 몇 번을 틑ㄹ린ㄱ ㅓ...ㅠㅠ

 

with A as (
    select CAR_ID, count(*) cnt
    from CAR_RENTAL_COMPANY_RENTAL_HISTORY 
    where START_DATE <= '2022-10-16' and '2022-10-16' <= END_DATE
    group by CAR_ID
)

-- 코드를 입력하세요
SELECT CAR_RENTAL_COMPANY_RENTAL_HISTORY.CAR_ID, 
 case
   when cnt is null then '대여 가능'
   else '대여중'
 end AVAILABILITY
from CAR_RENTAL_COMPANY_RENTAL_HISTORY left join A
   on CAR_RENTAL_COMPANY_RENTAL_HISTORY.CAR_ID = A.CAR_ID
group by CAR_RENTAL_COMPANY_RENTAL_HISTORY.CAR_ID
order by CAR_RENTAL_COMPANY_RENTAL_HISTORY.CAR_ID desc

 

나는 이렇게 풀었지만, 이게 정석 정답은 아닌 거 같다.

 

https://suminii.tistory.com/entry/MYSQL-%EC%9E%90%EB%8F%99%EC%B0%A8-%EB%8C%80%EC%97%AC-%EA%B8%B0%EB%A1%9D%EC%97%90%EC%84%9C-%EB%8C%80%EC%97%AC%EC%A4%91-%EB%8C%80%EC%97%AC-%EA%B0%80%EB%8A%A5-%EC%97%AC%EB%B6%80-%EA%B5%AC%EB%B6%84%ED%95%98%EA%B8%B0

 

이 분이 푼 방법이 정석인 듯?