오프라인/온라인 판매 데이터 통합하기
풀이
분명히 맞는데 라고 생각하다가 왜 틀렸는지 겨우 깨달았다.
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;