๋ฐ์ํ
์๋ ํ์ธ์ :D yunamom ์ ๋๋ค.
Oracle ROLLUP ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํฉ๊ณ๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ํฌ์คํ ํ๊ฒ ์ต๋๋ค.๐
๐์๋๋ ์ถ๋ ฅํด์ผํ๋ ํ๋ฉด์ ๋๋ค.
๋ณ์์ง์ญ | ๋ณ์์ง์ญ๋ช | ์ ์ข ์์ฝ๊ฑด์ |
10 | ์์ธ | 5 |
20 | ๋์ | 3 |
30 | ๋๊ตฌ | 2 |
40 | ๊ด์ฃผ | 0 |
์ดํฉ | 10 |
- ๋ณ์์ด ์๋ ์ง์ญ๋ณ๋ก ์ ์ข ์์ฝ๊ฑด์์ ํฉ์ ์ถ๋ ฅํจ.
- ๋ชจ๋ ๋ณ์์ ์ ์ข ์์ฝ๊ฑด์๋ฅผ ํฉ์ณ์ ์ดํฉ์ ์ถ๋ ฅํจ.
- (๋ณํ) ๊ธฐ์กด ๋ฌธ์ ๋ ๊ด์ฃผ์ง์ญ์ ๊ฒฝ์ฐ ์์ฝ๊ฑด์๊ฐ ์์ด ์ถ๋ ฅ์ ํ์ง ์์์ผ๋, ์์ฝ์ด ์๋ ๊ฒฝ์ฐ 0์ผ๋ก ํ๊ธฐํ์ฌ ์ถ๋ ฅํจ.
SELECT
H.hospaddr AS ๋ณ์์ง์ญ,
DECODE(H.hospaddr,'10','์์ธ','20','๋์ ','30','๋๊ตฌ','40','๊ด์ฃผ') AS ๋ณ์์ง์ญ๋ช
,
NVL(count(V.hospcode),'0') AS ์ ์ข
์์ฝ๊ฑด์
FROM TBL_HOSP_202108 H
LEFT JOIN TBL_VACCRESV_202108 V
ON H.hospcode = V.hospcode
GROUP BY ROLLUP(hospaddr);
์ด๋ ๊ฒ ROLLUP ์ด๋ผ๋ ํจ์๋ฅผ ์ฌ์ฉํด๋ณด์๋๋ฐ์ ์์ฃผ ์ ์ฉํ๊ณ ์์ฃผ ์ฐ์ด๊ฒ๋ ํจ์์ค์ ํ๋์ ๋๋ค.
์์ธํ ์ค๋ช ๊ณผ ์์ ๋ ์๋์ ์ด๊ณ ์๋์ ๋ธ๋ก๊ทธ์์ ํ์ธํ์ค์์์ต๋๋ค.
์ ๋ฆฌ๋ฅผ ์ํด์ฃผ์ ์ ์ดํดํ๋๋ฐ ๋ง์ ๋์์ด ๋์์ต๋๋ค.๐
300x250
'DB > Oracle' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Oracle] IN, NOT IN ํน์ ๋ฐ์ดํฐ ํฌํจ/์ ์ธ ํ๊ธฐ (0) | 2022.04.15 |
---|---|
[Oracle] ORDER BY NULL ๊ฐ ์ ๋ ฌํ๊ธฐ - NULLS FIRST, NULLS LAST (0) | 2022.04.14 |
[Oracle] ๋ฐ์ดํฐ์๋ ์ปฌ๋ผ์ 0 ํ๊ธฐํ๊ธฐ NVL , LEFT JOIN (0) | 2022.03.25 |
[Oracle] sqlplus ํ๋ฉดํฌ๊ธฐ ์กฐ์ ํ๊ธฐ (1) | 2022.03.24 |
Oracle 11g XE Download - ์ค๋ผํด 11g XE ๋ค์ด๋ก๋๊ฒฝ๋ก (0) | 2022.03.19 |