본문 바로가기
SQL

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

by hoshi03 2024. 11. 22.

https://school.programmers.co.kr/learn/courses/30/lessons/131537?language=oracle

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

!오프라인은 USER_ID가 없기에 NULL로 넣는다

!ORDER BY는 UNION 할 시에도 마지막에 넣어야 한다

!ORDER BY 할때 SELECT에 쓴 순서대로 지정해서 굳이 컬럼명 안쓰고도 정렬할 수 있다

SELECT TO_CHAR(SALES_DATE,'YYYY-MM-DD') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE 
WHERE TO_CHAR(SALES_DATE,'YYYY-MM') = '2022-03'
UNION
SELECT TO_CHAR(SALES_DATE,'YYYY-MM-DD') AS SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE 
WHERE TO_CHAR(SALES_DATE,'YYYY-MM') = '2022-03'
ORDER BY 1, 2, 3;