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;
CAR_ID 하나에 대해 여러 대여기록이 존재할 수 있는데,
만약 기록 중 하나라도 '2022-10-16' 일이 포함 되면 '대여중' 이라고 출력해야한다.
CAR_ID 를 GROUP BY 로 묶고,
CASE WHEN 조건과 IN 을 사용해서 CAR_ID 중 하나라도 '2022-10-16' 일이 포함 되면 '대여중' 이라고 출력했다.
'코딩테스트 연습 > programmers' 카테고리의 다른 글
| [프로그래머스] 조건에 맞는 사용자와 총 거래금액 조회하기 - MYSQL (0) | 2025.10.19 |
|---|---|
| [프로그래머스] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 - MYSQL (0) | 2025.10.18 |
| [프로그래머스] 노선별 평균 역 사이 거리 조회하기 - MYSQL (0) | 2025.10.15 |
| [프로그래머스] 네트워크 BFS, DFS - JAVA (0) | 2025.10.14 |
| [프로그래머스] 다음 큰 숫자 - JAVA (0) | 2025.10.10 |