


< 문제풀이 >
중복된 행을 제거하기 위해 두 테이블을 하나로 합칠 때, UNION을 써줬다..
근데 문제가 원하는 결과 사진을 보면, 오프라인과 온라인은 USER_ID 자체가 다르기 때문에 UNION ALL(중복된 행 제거 안 하고 합침)을 써줘도 무방한 듯하다!
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE MONTH(SALES_DATE) = 3
UNION
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE
WHERE MONTH(SALES_DATE) = 3
ORDER BY SALES_DATE ASC, PRODUCT_ID ASC,USER_ID ASC;'💻 프로그래밍 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 - 여러 기준으로 정렬하기 (0) | 2025.02.18 |
|---|---|
| 프로그래머스 - 동물의 아이디와 이름 (0) | 2025.02.18 |
| 프로그래머스 - 모든 레코드 조회하기 (0) | 2025.02.13 |
| 프로그래머스 - 조건에 부합하는 중고 거래 댓글 조회 (0) | 2025.02.13 |
| 프로그래머스 - 어린 동물 찾기 (0) | 2025.02.13 |