SQL/문제

SQL | 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

jjangdoll 2025. 1. 2. 12:24

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


MAX(CASE 
        WHEN START_DATE <='2022-10-16'
            AND END_DATE >='2022-10-16' THEN '대여중' 
        ELSE '대여 가능' END)
CASE
    WHEN COUNT(CASE 
    WHEN START_DATE <= '2022-10-16' AND END_DATE >= '2022-10-16'
    THEN 1 ELSE NULL 
    END) = 0 
    THEN '대여 가능' ELSE '대여중'

 : 10월 16일에 대여중인 자동차 이니까 대여 날짜가 10월 16일보다 작아야 하고, 반납 날짜가 10월 16일보다 커야함
 max 함수를 쓰는 이유는 여러 조건을 만족하는 값 중 가장 큰 값을 취하기 위해서
 다른 방법이 더 이해하기 쉽다