문제
나의 해답
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' and '2022-03-31'
union ALL
SELECT date_format(SALES_DATE,'%Y-%m-%d')as SALES_DATE , PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT
from OFFLINE_SALE
where SALES_DATE between '2022-03-01' and '2022-03-31'
order by SALES_DATE asc, PRODUCT_ID asc, USER_ID asc
해설
- date_format(SALES_DATE,'%Y-%m-%d') as SALES_DATE : SALES_DATE를 ‘YYYY-MM-DD’ 형식으로 변환
- where SALES_DATE between '2022-03-01' and '2022-03-31' : 판매 날짜가 22년 3월인 데이터를 조회
- ONLINE_SALE 테이블과 OFFLINE_SALE 테이블을 중복된 행 포함 조건에 걸러지고 남은 모든행 반환
- order by SALES_DATE asc, PRODUCT_ID asc, USER_ID asc : 판매날짜를 기준으로 오름차순, 제품ID를 기준으로 오름차순, 사용자ID를 기준으로 오름차순 정렬
Share article