알고리즘

[SQL]프로그래머스 Lv.4 오프라인/온라인 판매 데이터 통합하기

truezero 2024. 1. 16. 17:11

✅ 코드

WITH T AS (
   SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE
       , PRODUCT_ID
       , USER_ID
       , SALES_AMOUNT
   FROM ONLINE_SALE
   WHERE SALES_DATE BETWEEN '2022-03-01 00:00:00' AND '2022-03-31 23:59:59'

   UNION ALL

   SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE
       , PRODUCT_ID
       , NULL
       , SALES_AMOUNT
   FROM OFFLINE_SALE
   WHERE SALES_DATE BETWEEN '2022-03-01 00:00:00' AND '2022-03-31 23:59:59'
)

SELECT *
FROM T
ORDER BY SALES_DATE
      , PRODUCT_ID
      , USER_ID

 

두 테이블의 컬럼 형식을 동일하게 맞춘 후에 UNION ALL을 사용했습니다.