오프라인/온라인 판매 데이터 통합하기 (programmers)

minllny·2024년 2월 28일


여기 어이없으신 문제 하나 더요!

ㅋㅋㅋ
일단 내 쿼리는 다음과 같다.

SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') 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') SALES_DATE
     , PRODUCT_ID
     , NULL
     , SALES_AMOUNT
FROM OFFLINE_SALE
WHERE SALES_DATE BETWEEN '2022-03-01' AND '2022-03-31'
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID

2022년 3월에 온라인, 오프라인에서 판매한 기록들을 출력하는 문제였는데
오프라인으로 3월에 판매한 기록은 없음.. ㅋㅋ
코드 실행하면서 계속 틀린 줄 알았다지 뭐야~ 🤨

또 문제에서는 날짜기록들이 date타입인 것처럼 표기해놨지만 실제로는 datetime타입이었음

그래서 '2022-03-01 00:00:00' 형식을 '2022-03-01' 형식으로 바꿔주려 했음

나는 DATE()함수가 그 역할을 하는 줄 알았는데 적용이 안됨..
그래서 잊고있던 DATE_FORMAT()함수로 다음과 같이 적용

DATE_FORMAT(SALES_DATE, '%Y-%m-%d')
#DATE_FORMAT(날짜, 형식)

마무으리

profile
SQL 끄적끄적

0개의 댓글