[코드카타] SQL 10 오프라인/온라인 판매 데이터 통합하기

Data_Student·2024년 10월 28일
0

코드카타

목록 보기
16/57

[코드카타] SQL 10 오프라인/온라인 판매 데이터 통합하기

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

https://school.programmers.co.kr/learn/courses/30/lessons/131537

#문제 : ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 
       판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. 
       OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 
       판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순,
       상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요.
#조건 1 수직결합 UNION 사용
#조건 2 2022년 3월 기록만 추출
#조건 3 컬럼 수 맞추기!
select date_format(sales_date,'%Y-%m-%d') sales_date, 
	   product_id, 
	   user_id, 
	   sales_amount
from online_sale
where date_format(sales_date,'%Y-%m') = '2022-03'      #조건 2 2022년 3월 기록 찾기
union                                                  #조건 1 UNOIN 수직 결합
select date_format(sales_date,'%Y-%m-%d') sales_date, 
	   product_id, 
       NULL,                                           #조건 3 컬럼수 맞추기
       sales_amount 
from offline_sale 
where date_format(sales_date,'%Y-%m') = '2022-03'      #조건 2 2022년 3월 기록 찾기
order by 1, 2, 3 ;
#생각해보기!
#컬럼 수를 어떻게 맞춰야하는지 몰라서 조금 헤맸던 문제
#해결법은 생각보다 단순!
#SELECT에 해당 위치에 컬럼명을 추가하면 끝!
#이 부분은 잊지말자!

0개의 댓글