프로그래머스의 코딩테스트 문제입니다.
자동차 대여 기록 별 대여 금액 구하기
자동차 종류가 '트럭'인 자동차의 대여 기록에 대해서 대여 기록 별로 대여 금액(FEE)을 구하여 대여 기록 ID와 대여 금액 리스트를 출력하는 SQL문 작성
[조건]
대여 금액(FEE)을 기준으로 내림차순 정렬, 대여 금액이 같은 경우 대여 기록 ID를 기준으로 내림차순 정렬하기
주어진 컬럼은 다음과 같습니다.
1. CAR_RENTAL_COMPANY_CAR

2. CAR_RENTAL_COMPANY_RENTAL_HISTORY

3. CAR_RENTAL_COMPANY_DISCOUNT_PLAN

제가 작성한 코드는 다음과 같습니다.

두 가지 경우로 나누어 각각의 대여 금액(FEE)을 계산했습니다.
1) 대여기간에 따라 할인율이 반영되는 트럭
2) 반영되지 않는 트럭

이후에는 위의 두 가지 경우를 합치기 위해 UNION을 사용해 최종 SQL문을 작성했습니다.
저는 이 문제를 풀 때, 할인율이 반영되지 않는 자동차를 고려하지 못하여 어려움을 겪었고, 오류의 원인을 발견하기까지 꽤 오랜 시간이 걸렸습니다.
💡UNION을 활용할 시, 반드시 두 SELECT절의 컬럼명과 컬럼의 순서가 일치해야 합니다.