본문 바로가기

SQL

SQL 프로그래머스: 자동차 대여 가능 여부 구분하기

 

 

풀이 TIP
서브쿼리를 사용하자.
+ CASE문을 사용하여 기간 안에 속한 CAR_ID를 꺼내자. (이 아이디어 떠올리는 것이 중요하다.)

 

"CASE문"

CASE 컬럼
WHEN 조건1
THEN 값1
WHEN 조건2
THEN 값2
ELSE 값3
END AS '새 컬럼명'

 

 

 

 

 

 

내 풀이

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