SQL 문제

문제 33. 상품 별 오프라인 매출 구하기

kagan-draca 2024. 7. 22. 14:18

 

기존에 배운 INNER JOIN을 사용해야한다.

따라서,

 

FROM PRODUCT AS A INNER JOIN OFFLINE_SALE AS B
ON A.PRODUCT_ID = B.PRODUCT_ID

 

로 해주었고, 

 

GROUP BY A.PRODUCT_CODE로 그룹으로 묶어준 후

 

ORDER BY SALES DESC, A.PRODUCT_CODE ASC

 

로 정렬해줬다.

 

그런데 문제에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하세요.

가 문제에서 구하고자하는 값인데,

 

SELECT A.PRODUCT_CODE, A.PRICE * B.SALES_AMOUNT as SALES

 

상품코드 별 매출액만 구하고 더하지를 않아 원하는 결과가 출력되지 않았다.

 

위의 사실을 모른체 JOIN ON과 GROUP BY에 문제가 있는 줄 알고 많은 시간을

 

허비했다. JOIN ON, GROUP BY 문제를 더 많이 풀어볼 필요가 있다...

 

 

제출한 코드 : 

SELECT A.PRODUCT_CODE, SUM(A.PRICE * B.SALES_AMOUNT) as SALES
FROM PRODUCT AS A INNER JOIN OFFLINE_SALE AS B
ON A.PRODUCT_ID = B.PRODUCT_ID
GROUP BY A.PRODUCT_CODE
ORDER BY SALES DESC, A.PRODUCT_CODE ASC