[SQL문제풀기]오프라인/온라인 판매 데이터 통합하기

프로그래머스 SQL 고득점 Kit
송송승현's avatar
Dec 09, 2024
[SQL문제풀기]오프라인/온라인 판매 데이터 통합하기

문제

나의 해답

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

송승현의 블로그