728x90
❓ Question
❗ Answer
SELECT DISTINCT(car_id) 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),
'대여중','대여 가능') AVAILABILITY
FROM car_rental_company_rental_history
ORDER BY CAR_ID DESC;
📌 Discussion
- 하나의 car_id에 대해 여러 렌탈 기록이 존재하여 대여 가능 여부가 여러가지가 나온다.
- 대여 중인 car_id의 레코드를 sub-query로 불러와서 IF 절로 하나의 car_id에 따른 대여 가능 여부를 출력한다.
- 중복되는 car_id를 제거하기 위해 distinct 사용
'SQL 문제풀이' 카테고리의 다른 글
[프로그래머스 SQL] LV.2 자동차 평균 대여 기간 구하기 (0) | 2023.08.06 |
---|---|
[프로그래머스 SQL] LV.4 취소되지 않은 진료 예약 조회하기 (0) | 2023.08.06 |
[프로그래머스 SQL] LV.4 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2023.08.06 |
[프로그래머스 SQL] LV.4 서울에 위치한 식당 목록 출력하기 (0) | 2023.08.06 |
[프로그래머스 SQL] LV.2 조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.08.06 |