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

Kim Yuhyeon·2023년 11월 27일
0

SQL 

목록 보기
18/21

문제

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

접근 방법

시작 날짜 ~ 2022-10-16 ~ 반납 날짜
이런 형식으로 BETWEEN으로 해당하는 CAR_ID들을 서브쿼리로 추출한 후
CASE WHEN을 활용하여 풀었다.

풀이

SELECT CAR_ID, (CASE WHEN CAR_ID IN 
                (SELECT CAR_ID
                 FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
                 WHERE '2022-10-16' BETWEEN DATE_FORMAT(START_DATE, '%Y-%m-%d') AND DATE_FORMAT(END_DATE, '%Y-%m-%d'))
                THEN '대여중'
                ELSE '대여 가능'
                END) AS "AVAILABILITY"
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC

참고

https://velog.io/@greaceh/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-SQL-%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

0개의 댓글