문제 풀이/프로그래머스
프로그래머스 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 [MySQL]
JJJaewon
2023. 6. 23. 15:42
반응형
이 문제는 union 과 not in 을 이용해서 푼 문제이다. not in 이나 in 을 사용하려면 where 절에서 컬럼을 지정해야 한다는 것을 꼭 기억하자.
(SELECT
CAR_ID, '대여중' AS AVAILABILITY
FROM
CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE
DATE(START_DATE) <= '2022-10-16'
AND DATE(END_DATE) >= '2022-10-16')
UNION
(SELECT
CAR_ID, '대여 가능' AS AVAILABILITY
FROM
CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE CAR_ID NOT IN (SELECT
CAR_ID
FROM
CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE
DATE(START_DATE) <= '2022-10-16'
AND DATE(END_DATE) >= '2022-10-16'))
ORDER BY
CAR_ID DESC;
반응형