WITH NEW AS
(
SELECT
CAR_ID
, CASE
WHEN '2022-10-16' BETWEEN START_DATE AND END_DATE THEN '대여중'
ELSE '대여 가능'
END AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
)
SELECT
CAR_ID
,MAX(AVAILABILITY) AS AVAILABILITY
FROM NEW
GROUP BY CAR_ID
ORDER BY CAR_ID DESC
→ MAX() 함수는 그룹 내에서 가장 큰 값을 반환, 사전 순서(알파벳 순서)를 기준으로 가장 뒤에 오는 값을 반환
WITH NEW AS
(
SELECT
CAR_ID
, CASE
WHEN '2022-10-16' BETWEEN START_DATE AND END_DATE THEN '대여중'
ELSE '대여 가능'
END AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
)
SELECT
CAR_ID
, IF( SUM( IF(AVAILABILITY="대여중", 1, 0)) > 0, "대여중", "대여 가능" ) AS AVAILABILITY
FROM NEW
GROUP BY CAR_ID
ORDER BY CAR_ID DESC
→ IF() 함수로 묶고 AVAILABILITY의 값을 대여중 또는 대여 가능을 0 또는 1로 표시 해당 SUM을 다시 "대여중" 또는 "대여 가능"으로 표기