💻 프로그래밍/프로그래머스

프로그래머스 - 오프라인/온라인 판매 데이터 통합하기

ssoniya 2025. 2. 13. 15:30

 

 

< 문제풀이 >

중복된 행을 제거하기 위해 두 테이블을 하나로 합칠 때, UNION을 써줬다..

근데 문제가 원하는 결과 사진을 보면, 오프라인과 온라인은 USER_ID 자체가 다르기 때문에 UNION ALL(중복된 행 제거 안 하고 합침)을 써줘도 무방한 듯하다!

SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE MONTH(SALES_DATE) = 3
UNION 
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE
WHERE MONTH(SALES_DATE) = 3
ORDER BY SALES_DATE ASC, PRODUCT_ID ASC,USER_ID ASC;