mysql 문제풀이/못 푼 문제

프로그래머스 Lv 4 - 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기

gooreumsea 2023. 6. 30. 22:41


https://school.programmers.co.kr/learn/courses/30/lessons/157339

With counter AS(
    
        SELECT CAR.DAILY_FEE
             , CAR.CAR_ID
             , CAR.CAR_TYPE
             , START_DATE
             , END_DATE
    
        FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY AS HISTORY
              INNER JOIN CAR_RENTAL_COMPANY_CAR AS CAR ON CAR.CAR_ID = HISTORY.CAR_ID AND CAR.CAR_TYPE IN ('세단', 'SUV')
        WHERE (START_DATE > '2022-11-30' or END_DATE < '2022-11-01') 
                ) 

SELECT DISTINCT CAR_ID
     , counter.CAR_TYPE
     , ROUND((100-discount_rate)/100 * DAILY_FEE* 30) AS FEE     
      
FROM counter
     INNER JOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN AS PLAN ON counter.CAR_TYPE = PLAN.CAR_TYPE AND DURATION_TYPE = '30일 이상'
     
     WHERE (100 - discount_rate)/100 * daily_fee * 30 >= 500000
     AND (100 - discount_rate)/100 * daily_fee * 30 < 2000000
     
     
ORDER BY 3 DESC, 2 ASC ,1 DESC

 

 

원래 CAR_TYPE의 SUV는 나오지 않아야 한다.

세단만이 나와야 하는데, 
조건에 해당되어서 일단은 suv값이 같이 나오고 있다.

 

일단 날짜 조건이 매우 까다롭다.

다들 까다로운 문제라고는 하지만 10시간 매달려도 못풀다니...
쿼리 하나하나 다시 디버깅 해봐야겠다.

 

어디가 문제일까?