자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (LEVEL3)
자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성
2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가
반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시
자동차 ID 내림차순 정렬
정답 코드
SELECT CAR_ID, CASE WHEN CAR_ID IN (SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE <= '2022-10-16'
AND END_DATE >= '2022-10-16')
THEN '대여중'
ELSE '대여 가능' END
AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC
MEMO
- MYSQL 에서 if-then-else 역할을 하는 문법이다.
CASE
WHEN 조건1 THEN 값1
WHEN 조건2 THEN 값2
ELSE 값3
END
'문제 풀이 > 프로그래머스' 카테고리의 다른 글
[MYSQL 17] 부서별 평균 연봉 조회하기 (0) | 2024.09.09 |
---|---|
[MYSQL 16] 조건에 맞는 사용자와 총 거래금액 조회하기 (1) | 2024.09.08 |
[MYSQL 14] 진료과별 총 예약 횟수 출력하기 (0) | 2024.09.06 |
[MYSQL 13] 성분으로 구분한 아이스크림 총 주문량 (0) | 2024.09.06 |
[JAVA 10] 이중우선순위큐 (0) | 2024.09.04 |