문제
https://school.programmers.co.kr/learn/courses/30/lessons/157340
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
해결 방법
1. 서브 쿼리를 활용해 조건 내에 값이 존재할까? -> in 쿼리 이용
2. 날짜가 기간내에 포함되어 있나? -> Date between aDate and bDate
3. 여러 중복되는 car_id가 있을 때 단일 값처럼 다뤄주기 -> group by
select car_id,
(case
when car_id in (
select car_id
from car_rental_company_rental_history
where "2022-10-16"
between start_date and end_date
) then "대여중"
else "대여 가능"
end) as availability
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
group by car_id
order by car_id desc
'알고리즘 공부 > sql' 카테고리의 다른 글
[프로그래머스] MySQL - 입양시각 구하기(2) (0) | 2024.02.28 |
---|---|
[프로그래머스] MySQL - 식품 분류별 가장 비싼 식품의 정보 조회하기 (0) | 2024.02.23 |
[프로그래머스] MySQL - 조건에 맞는 사용자 정보 조회하기 (0) | 2024.02.22 |
[프로그래머스] MySQL - 자동차 평균 대여 기간 구하기 (0) | 2024.02.20 |
[프로그래머스] MySQL - 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.02.20 |