Blair  - Soul Eater [프로그래머스_SQL] 오프라인/온라인 판매 데이터 통합하기

• programming language/SQL

[프로그래머스_SQL] 오프라인/온라인 판매 데이터 통합하기

oujin 2023. 12. 28. 17:46
728x90
with sale as(select SALES_DATE,PRODUCT_ID,USER_ID,SALES_AMOUNT
            from ONLINE_SALE
            union all
            select SALES_DATE,PRODUCT_ID,null USER_ID,SALES_AMOUNT
            from OFFLINE_SALE )
            
select date_format(SALES_DATE,'%Y-%m-%d'),PRODUCT_ID,USER_ID,SALES_AMOUNT
from sale
where SALES_DATE like "2022-03%"
order by SALES_DATE,PRODUCT_ID,USER_ID

 

▶ 임시 테이블 만들기

with 구문을 사용하여 sale 이라는 임테이블을 만든다.

이 sale 이라는 테이블은 ONLINE_SALE 테이블에 있는 4가지 컬럼(SALES_DATE,PRODUCT_ID,USER_ID,SALES_AMOUNT)과

OFFLINE_SALE 테이블에 있는 4가지 컬럼(SALES_DATE,PRODUCT_ID,null USER_ID,SALES_AMOUNT)을 합친 테이블이다.

이때 OFFLINE_SALE 테이블에는 USER_ID가 없기 때문에 NULL을 붙여준다.

 

▶ 날짜 형식 변경

SALES_DATE의 출력형식을 YYYY-MM-DD형태로 출력하기 위해 DATE_FORMATS을 사용한다.

DATE_FORMAT(SALES_DATE,'%Y-%m-%d')

 

▶ 날짜 찾기 

LIKE 와 %를 사용한다.

WHERE SALES_DATE LIKE "2022-03%"

 

 

 

 

 

 

 

728x90