๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ๋ฐ์ดํ๋ฅผ ๋ฝ์๋ณด์!!!!
ํ ํ ์ด๋ธ Table_1์ด ์๋ค.
์ด ํ ์ด๋ธ์ objectIDํ๋์ parentObjectID ํ๋๋ฅผ ๊ฐ๊ณ ์๋ค.
๋ ํ๋์๋ OBJECT_X(X๋ ์ ์ํ ์ซ์)ํ์์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์๋ค.
๋, OBJECT_1์ด ํ์ OBJECT_2๋ฅผ ๊ฐ์ง๊ณ OBJECT_2๊ฐ ๋ ํ์ OBJECT_3์ ๊ฐ์ง๋ค๊ณ ๊ฐ์ ํ์. (OBJECT_2๋ OBJECT_1์ ์์ OBJECT๋ผ๊ณ ์๊ฐํ๋ฉด๋๋ค.)
์ฌ๋ฌ ๋ค๋ฅธ OBJECT_X ํ์์ ๋ฐ์ดํฐ๋ค์ด ํ ์ด๋ธ ๋ด์ ๋ง์ด ์๋ค๊ณ ๊ฐ์ ํ์.
์ด๋ CONNECT BY์ START WITH๋ฅผ ์ด์ฉํ์ฌ OBJECT_2์ ๊ทธ ์์, ๋ ๊ทธ ์์, ๋ ๊ทธ ์์...์ญ์ฐ์ฑ ํด์ OBJECT_2๋ฅผ ๊ฐ๋ ์ต์์ OBJECT๊น์ง ๊ณ์ธต๊ตฌ์กฐ๋ก ๋ฝ์๋ด๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ด ํ๋ฉด ๋๋ค.
SELECT *
FROM Table_1
CONNECT BY PRIOR objectID = parentObjectID
START WITH objectID = 'OBJECT_2'
-------
ํ๋์ ์กฐ๊ฑด๋ถ์ ์์๊ฐ ๋ฐ๋๋ฉด ๊ฒฐ๊ณผ๋ ๋ฐ๋๋ฏ๋ก ์ฃผ์ํ์.!!!!
'๐ป Programming > Oracle 11g' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL] COUNT(*) ์ COUNT(1) (0) | 2015.04.20 |
---|---|
java.lang.SecurityException: Sealing violation exception (0) | 2015.04.20 |
[SQL] ๊ฒฐ๊ณผ๊ฐ ๋์ค ์ด์์ธ ๊ฒฝ์ฐ ํ์ค๋ก ํฉ์น๊ธฐ (0) | 2015.04.20 |
[SQL] ์กฐ์ธ(join)์ ๊ดํ์ฌ (0) | 2015.04.20 |
๋ฝ๊ฑธ๋ฆฐ ์ธ์ ์ฃฝ์ด๊ธฐ (0) | 2015.04.20 |