๋ฌธ์ ์ค๋ช
๋ค์์ ์ด๋ ์๋ฅ ์ผํ๋ชฐ์ ์จ๋ผ์ธ ์ํ ํ๋งค ์ ๋ณด๋ฅผ ๋ด์ ONLINE_SALE ํ ์ด๋ธ๊ณผ ์คํ๋ผ์ธ ์ํ ํ๋งค ์ ๋ณด๋ฅผ ๋ด์ OFFLINE_SALE ํ ์ด๋ธ ์ ๋๋ค. ONLINE_SALE ํ ์ด๋ธ์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋์ด์์ผ๋ฉฐ ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE๋ ๊ฐ๊ฐ ์จ๋ผ์ธ ์ํ ํ๋งค ID, ํ์ ID, ์ํ ID, ํ๋งค๋, ํ๋งค์ผ์ ๋ํ๋ ๋๋ค.

๋์ผํ ๋ ์ง, ํ์ ID, ์ํ ID ์กฐํฉ์ ๋ํด์๋ ํ๋์ ํ๋งค ๋ฐ์ดํฐ๋ง ์กด์ฌํฉ๋๋ค.
OFFLINE_SALE ํ ์ด๋ธ์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋์ด์์ผ๋ฉฐ OFFLINE_SALE_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE๋ ๊ฐ๊ฐ ์คํ๋ผ์ธ ์ํ ํ๋งค ID, ์ํ ID, ํ๋งค๋, ํ๋งค์ผ์ ๋ํ๋ ๋๋ค.

๋ฌธ์
ONLINE_SALE ํ ์ด๋ธ๊ณผ OFFLINE_SALE ํ ์ด๋ธ์์ 2022๋ 3์์ ์คํ๋ผ์ธ/์จ๋ผ์ธ ์ํ ํ๋งค ๋ฐ์ดํฐ์ ํ๋งค ๋ ์ง, ์ํID, ์ ์ ID, ํ๋งค๋์ ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. OFFLINE_SALE ํ ์ด๋ธ์ ํ๋งค ๋ฐ์ดํฐ์ USER_ID ๊ฐ์ NULL ๋ก ํ์ํด์ฃผ์ธ์. ๊ฒฐ๊ณผ๋ ํ๋งค์ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์๊ณ ํ๋งค์ผ์ด ๊ฐ๋ค๋ฉด ์ํ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์, ์ํID๊น์ง ๊ฐ๋ค๋ฉด ์ ์ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
์ ๋ต
SELECT DATE_FORMAT(OS.SALES_DATE,'%Y-%m-%d')SALES_DATE ,
OS.PRODUCT_ID,
OS.USER_ID ,
OS.SALES_AMOUNT
FROM (
SELECT SALES_DATE,PRODUCT_ID,USER_ID,SALES_AMOUNT
FROM ONLINE_SALE
UNION
SELECT SALES_DATE,PRODUCT_ID,NULL,SALES_AMOUNT
FROM OFFLINE_SALE
)
OS
WHERE SALES_DATE LIKE ('2022-03%')
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
์ฐธ๊ณ
https://needjarvis.tistory.com/778
[MySQL] Union์ผ๋ก ํ ์ด๋ธ ํฉ์น๊ธฐ
ํฌ์คํ ์ ์์ MySQL๊ณผ MariaDB๋ ์ฌ์ค์ ๋์ผํ DB์ด๊ธฐ ๋๋ฌธ์ ๋ณธ ํฌ์คํ ์ MariaDB์์๋ ์ ์ฉ๋ฉ๋๋ค. UNION์ ๊ฐ๋ ์ฐ๋ฆฌ๊ฐ ํ๋์ ์ฟผ๋ฆฌ์์ ๋ค์ํ ํ ์ด๋ธ์ ์ ๋ณด๋ฅผ ๋ด๊ธฐ ์ํด์๋ ์๋ธ์ฟผ๋ฆฌ์ ์กฐ์ธ(J
needjarvis.tistory.com

** union ์ join ๊ณผ ๋ค๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ํฉ์น๋ ๊ฑฐ์ ์ด ๋ฌธ์ ์ ์์ ์ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ๋๊ฒ์ ์๊ธฐ ๋๋ฌธ์
union์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ํ์ด์ผํจ