dmswl
[프로그래머스] SELECT 오프라인/온라인 판매 데이터 통합하기 본문
M1.
SELECT *
FROM (
SELECT TO_CHAR(SALES_DATE,'YYYY-MM-DD') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE A
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 A
WHERE TO_CHAR(SALES_DATE,'YYYYMM') = '202203'
)
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
M2.
-- 목적: 온라인, 오프라인으로 분리되어있는 테이블에서 2022년 3월 모든 판매 데이터에서 판매날짜, 상품 ID, 유저 ID, 판매량을 가져오는 것.
# 1. 온라인, 오프라인 테이블에서 각각 2022년 3월에 해당하는 데이터만 추출하기
# 2. 두 테이블을 행기준으로 합치기(UNION ALL)
# 3. 판매일 기준으로 오름차순 정렬하기, 상품ID 기준 오름차순, 유저 ID 기준
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE DATE_FORMAT(SALES_DATE, '%Y-%m') = '2022-03'
UNION ALL
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, NULL, SALES_AMOUNT
FROM OFFLINE_SALE
WHERE DATE_FORMAT(SALES_DATE, '%Y-%m') = '2022-03'
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
'코테 공부 > SQL' 카테고리의 다른 글
[프로그래머스] GROUP BY 카테고리 별 도서 판매량 집계하기 (0) | 2024.08.07 |
---|---|
윈도우 함수 정리 (0) | 2024.08.07 |
[프로그래머스] SELECT 특정 물고기를 잡은 총 수 구하기 (0) | 2024.08.07 |
[프로그래머스] SELECT 업그레이드 된 아이템 구하기 (0) | 2024.08.07 |
[MySQL] 코딩테스트 공부 (0) | 2024.04.17 |