๐ข ๋ณธ ํฌ์คํ ์ Growth/Practice ๊ฒ์๊ธ (https://sy038680.tistory.com/232) ๋ฌธ์ ์ ๋ํ 2์ฐจ ํ์ด์ ๋๋ค.
๊ธฐ์กด์๋ UNION์ ํ์ฉํ๊ธด ํ๋๋ฐ WITH์ ์ ์ฌ์ฉํด์ ์์ํ ์ด๋ธ T1์ ์์ฑํด์
WHERE์กฐ๊ฑด(3์ ํ๋งค), ์ ๋ ฌ์กฐ๊ฑด๋ง ๋์ค์ผ๋ก ๋นผ์ฃผ์๋ค.
์ฌํ์ด์์๋ ์์ 3์ ์กฐ๊ฑด๊น์ง ์จ/์คํ๋ผ์ธ ํ ์ด๋ธ์ ๊ฐ๊ฐ ์ ์ฉํด์ฃผ๊ณ ๋ ๋ค์ UNION์ ์ ์ฉํ๋ค.
SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE SALES_DATE BETWEEN '2022-03-01 00:00:00' AND '2022-03-31 23:59:59'
UNION
SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE, PRODUCT_ID,
NULL AS USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE
WHERE SALES_DATE BETWEEN '2022-03-01 00:00:00' AND '2022-03-31 23:59:59'
ORDER BY 1, 2, 3
ํ๊ณ ๋ณด๋ ์์ ํ ์ด๋ธ ์ธ์ ๊ธฐ์กด ํ์ด์ ํฐ ์ฐจ์ด๋ ์๋ ๊ฒ ๊ฐ๋ค ๐ฅ..
(๊ธฐํ ์ถ๊ฐ) ๋ฌธ์ ํ์ด ํ UNION์ ๋ํด ์ฐพ์๋ณด๋ค๊ฐ ์๊ฒ ๋ ๋ฐฐ์
์ ๋ฌธ์ ์์๋ ORDER BY๋ ์ฟผ๋ฆฌ ๊ฐ์ฅ ๋ง์ง๋ง์ ์์ฑํ๊ณ ์ ๋ ฌ ์กฐ๊ฑด์ ์ ์ฉํ๋๋ฐ
> ๊ฐ๊ฐ ์ ๋ ฌ์กฐ๊ฑด์ ์ฃผ๊ณ ํฉ์น๊ณ ์ถ๋ค๋ฉด?
๊ฐ SELECT ์ ์ ๊ฐ๊ฐ ์ ๋ ฌ ์กฐ๊ฑด์ ์ฃผ๊ณ
(SELECT ~ FROM ~ ORDER BY โ ) UNION (SELECT ~ FROM ~ ORDER BY โก) ๋ก ์์ฑํ๋ฉด ๋๋ค.
์์ฑ ์์)
(SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE SALES_DATE BETWEEN '2022-03-01 00:00:00' AND '2022-03-31 23:59:59'
ORDER BY 1 DESC, 2, 3 DESC)
UNION
(SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE, PRODUCT_ID,
NULL AS USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE
WHERE SALES_DATE BETWEEN '2022-03-01 00:00:00' AND '2022-03-31 23:59:59'
ORDER BY 1, 2, 3)