[SQL] 프로그래머스 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

iinnuyh_s·2024년 1월 11일
0

SQL

목록 보기
10/17
post-thumbnail
post-custom-banner

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

풀이

  • 세상에... 문제가 너무 이해가 안가서 헤맸다. 문제를 좀 차분히...차분히 읽어보렴...
  • 이 문제는 '2022-10-16'일에 한번이라도 대여가 되었다면 '대여중' 이고, 아니라면 '대여 가능' 이라고 표시하면 되는 간단한 문제다.
  • 그니까, 먼저 '2022-10-16'일에 대여가 되었는지를 확인하는 SELECT 문을 작성하고, CAR_ID가 이 안에 속한다면 '대여중' 을 나타내주면 되는 것.
🙆‍♀️ 정답 풀이
SELECT DISTINCT CAR_ID, 
IF(CAR_ID IN (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY 
WHERE '2022-10-16' BETWEEN START_DATE AND END_DATE),'대여중','대여 가능') AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
ORDER BY CAR_ID DESC;
  • '2022-10-16' BETWEEN START_DATE AND END_DATE
    '2022-10-16'일이 시작날짜와 끝 날짜 사이에 존재하면 대여중인것!
    이렇게 쓸 생각을 못했었다. 다른 사람 풀이를 본 것이었는데, START_DATE, END_DATE 따로 범위 설정하는 것보다 이게 더 간결하고 좋은 것 같다.
post-custom-banner

0개의 댓글