𝙎𝙌𝙇
[Programmers] 자동차 대여 기록에서 대여중/ 대여 가능 여부 구분하기
콜라맛갈비
2023. 4. 3. 00:06
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/157340
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
SELECT CAR_ID,
IF(T2.S >0, '대여중', '대여 가능') AVAILABILITY
FROM (
SELECT CAR_ID, SUM(D) S
FROM (
SELECT *,
IF(START_DATE<='2022-10-16' AND END_DATE>='2022-10-16', 1, 0) D
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
) T
GROUP BY CAR_ID ) T2
ORDER BY CAR_ID DESC
SELECT CAR_ID,
MAX(CASE WHEN '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
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;
728x90