💻 하나씩 차곡차곡/프로그래머스 (SQL)
[SELECT/LEVEL4] 오프라인/온라인 판매 데이터 통합하기 (MySQL/Oracle)
뚜루리
2023. 4. 7. 07:39
728x90
320x100
MySQL
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE
, PRODUCT_ID
, USER_ID
, SALES_AMOUNT
FROM ( SELECT ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE FROM ONLINE_SALE
UNION ALL
SELECT OFFLINE_SALE_ID, NULL, PRODUCT_ID, SALES_AMOUNT, SALES_DATE FROM OFFLINE_SALE ) A
WHERE YEAR(A.SALES_DATE) = 2022
AND MONTH(A.SALES_DATE) = 3
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
Oracle
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, 'YYYYMM') = '202203'
UNION ALL
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, 'YYYYMM') = '202203'
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
;
- 조인 하는 건가 한참 생각하다가.....
728x90
320x100