본문 바로가기
카테고리 없음

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

by 개발하는 호랑이 2024. 1. 31.

오프라인/온라인 판매 데이터 통합하기

 

풀이

분명히 맞는데 라고 생각하다가 왜 틀렸는지 겨우 깨달았다.
SALES_DATE를 그대로 이용하면 형식이 시분초도 나와서 틀리더라.
그래서 SELECT SALES_DATE가 아닌 아래 처럼 사용해주었다.

SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE

그리고 2개의 온라인 판매, 오프라인 판매의 데이터를 합쳐야했기에 UNION ALL을 이용했다.

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