본문 바로가기
DB/문제풀이

[프로그래머스] 상품 별 오프라인 매출 구하기 -LV.2

by 쬑께께 2023. 1. 19.

상품 별 오프라인 매출 구하기 문제는 다음과 같다.

 

 

 

이번 문제를 풀기 위해서는 

1. 상품코드, (판매가 * 매출량) 합계  출력

2. 두 테이블 조인시키기

3. 상품코드별로 출력결과 묶어주기

4. 매출액 기준 내림차순 정렬

5. 매출액이 같을 경우 상품코드순으로 오름차순 정렬

순으로 접근해야 한다.

(두 테이블의 컬럼값들을 모두 가진 

테이블이 필요하기 때문에 조인이 필수)

 

 

 

우선 상품코드와 (판매가 * 매출량)의 합계를 출력시켜주겠다.

조인이고 나발이고 신경쓰지 않고

우선은 각 컬럼명들을 가져와 쿼리문을 작성해주겠다.

 

 

 

 

PRODUCT_CDOE와 PRICE 컬럼은 PRODUCT 테이블에,

SALES_AMOUNT 컬럼은 OFFLINE_SALE 테이블에 있으며

해당 컬럼값들을 가져오기 위해 작성한 쿼리문은 다음과 같다.

조인 이전의 쿼리문으로 SQL문법으로는 전혀 맞지 않는 쿼리문이다.

그러니 조인을 시켜줘 말이 되는 쿼리문으로 바꾸어 주겠다.

 

 

 

 

PRODUCT 테이블을 A, OFFLINE_SALE 테이블을 B라고 정해주었다.

또한, 두 테이블이 모두 가지는 공통된 컬럼은 PRODUCT_ID이므로

조인을 시키면 다음과 같은 쿼리문이 나온다.

 

 

 

 

이제 상품코드별로 묶어주겠다.

 

 

 

 

마지막으로 정렬을 해줄건데

판매액을 기준으로 내림차순 정렬,

판매액이 같을 경우 상품코드 순으로

오름차순 정렬을 해주어야 한다.

 

 

 

 

이제 해당 컬럼을 실행시켜보겠다.

판매액 기준 내림차순 정렬,

(결과 이미지에는 나오지 않지만) 

판매액이 같을 경우 상품코드 기준 오름차순 정렬이

되는 모습을 볼 수 있다.

 

 

 

 

이제 정답인지 확인해보겠다.

정답이다.