프로그래머스 sql 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

정민교·2024년 2월 12일
0

SQL프로그래머스

목록 보기
5/25

https://school.programmers.co.kr/learn/courses/30/lessons/157340

SELECT 
    CAR.CAR_ID,
    CASE
        WHEN RENT.CAR_ID IS NOT NULL THEN '대여중'
        ELSE '대여 가능'
    END AS AVAILABILITY
FROM 
    (SELECT DISTINCT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY) AS CAR
LEFT JOIN
    (SELECT DISTINCT CAR_ID 
     FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY 
     WHERE '2022-10-16' BETWEEN START_DATE AND END_DATE) AS RENT
ON CAR.CAR_ID = RENT.CAR_ID
ORDER BY CAR_ID DESC;

CAR_ID만 뽑은 인라인 뷰와 2022-10-16일 날짜에 대여중인 CAR_ID만 뽑은 인라인 뷰를 LEFT JOIN하여 문제를 해결한다.

RENT의 CAR.ID가 NULL이라면 대여중이기 때문에 해결이 가능하다.

profile
백엔드 개발자

0개의 댓글