티스토리 뷰

포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.

문제를 보자.

솔직히, 나는 sql injection도 공부해 보고, 프로젝트마다 백엔드 개발을 담당하여 db설계 및 여러 가지 작업을 해봐서 sql은 어느 정도 자신 있었다.

 

그래봤자 현업에 계신 분들보단 한참 못 미치겠지만..

 

근데 이 문제 풀이를 찾아보다가 신박한 풀이를 찾았다.

 

쿼리

SELECT CAR_ID,
MAX(CASE WHEN '2022-10-16' BETWEEN DATE_FORMAT(START_DATE, '%Y-%m-%d') AND DATE_FORMAT(END_DATE, '%Y-%m-%d')
THEN '대여중'
ELSE '대여 가능'
END) AS 'AVAILABILITY'
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC

max() 함수를 문자열에 사용하여, '대여가능'과 '대여중'의 사전순으로 대여 중을 출력하게 하는 신박한 풀이를 보았다...

 

역시 창의력과 기본이 가장 중요한 것 같다..

 

출처 : https://velog.io/@greaceh/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-SQL-%EC%9E%90%EB%8F%99%EC%B0%A8-%EB%8C%80%EC%97%AC-%EA%B8%B0%EB%A1%9D%EC%97%90%EC%84%9C-%EB%8C%80%EC%97%AC%EC%A4%91-%EB%8C%80%EC%97%AC-%EA%B0%80%EB%8A%A5-%EC%97%AC%EB%B6%80-%EA%B5%AC%EB%B6%84%ED%95%98%EA%B8%B0

 

[프로그래머스 | SQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

프로그래머스_자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

velog.io

 

댓글