문제
코딩테스트 연습 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 | 프로그래머스 스쿨
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우
'대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는
컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해주세요.
이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해주시고
결과는 자동차 ID를 기준으로 내림차순 정렬해주세요.
풀이
- 2022년 10월 16일 필터
- 대여가능 불가능 여부 확인
- 새 컬럼 생성
- 반납일자 확인
- 자동차 ID기준 내림정렬
해결
CASE를 넣어서 AVAILAVILITY를 생성하는데 이때, 조건까지 같이 넣는다.
즉 2022년 10월 16일 기준 대여가능한지 불가능한지 표시해주는 컬럼을 만드는 것이다.
SELECT CAR_ID,
CASE
WHEN
COUNT(CASE WHEN START_DATE <= '2022-10-16' AND END_DATE >= '2022-10-16' THEN 1
ELSE NULL END ) = 0
THEN '대여 가능' ELSE '대여중'
END AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC
링크
Programmers/프로그래머스/3/157340. 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 at main · K-MarkLee/Programmers
Programmers/프로그래머스/3/157340. 자동차 대여 기록에서 대여중 / 대여 가능 여부 구
This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - K-MarkLee/Programmers
github.com
끝
'Daily 코드카타 > SQL' 카테고리의 다른 글
코딩테스트 SQL 코드카타 (식당 목록 출력하기) (0) | 2024.10.25 |
---|---|
코딩테스트 SQL 코드카타 (년, 월, 성별 별 회원 수 구하기) (1) | 2024.10.24 |
코딩테스트 SQL 코드카타 (진료 예약 조회하기) (0) | 2024.10.22 |
코딩테스트 SQL 코드카타 (중고거래 상태 조회하기) (0) | 2024.10.21 |
코딩테스트 SQL 코드카타 (최댓값 구하기) (0) | 2024.10.18 |