On 4/27/05, Marc Demlenne <marc.demlenne_at_gmail.com> wrote:
> Hi all,
>=20
> I'm searching help to solve the following problem :
>=20
> I have to query an ORACLE db to get a tree structure which is stored insi=
de=3D
> .
> The DB already exists, and i'm not able to modify its structure. I
> could only add supplementary columns if necessary.
>=20
> The trees (which represents a decisional tree) is stored in multiple
> tables. We have one for root, and one table by type of decision
> criterions or by leaf. On each record of each tree table, we have in
> addition to usefull parameters proper to each criterion, 4 "tree
> specific" ones which gives respectively the TYPE and NODEID of
> previous and next node in the tree.
> The 'custom columns' can vary a lot for one criterion to another, but
> the 'tree specific' ones are always the same, except for root'
>=20
> So, eg :
>=20
> Root :
> CUSTOM INFOS - NXT_TYPE - NXT_NODEID
> azezerert - 12 - 2
> azefsdfsdf - 15 - 1
>=20
> For criterion 1 (criterion type =3D3D 12) :
> CUSTOM INFOS - NODE_ID - NXT_TYPE - NXT_ID - PREV_TYPE - PREV_I=
D
> blabla - 1 - ...
> sdfsf df - 2 - 18 - 2 - 1 - 1
> sddffsf df - 2 - 18 - 3 - 1 - 1
> blabla - 3 - ...
>=20
> For criterion 2 (criterion type =3D3D 15) :
> CUSTOM INFOS - NODE_ID - NXT_TYPE - NXT_ID - PREV_TYPE - PREV_I=
D
> sdfsf df - 1 - 25 - 17 - 1 - 2
>=20
> ...
>=20
> So I'm trying to get in SQL a simple way to get this structure, in
> order to display it on a GUI without having to query the tree as many
> times as criterions it contains ...
>=20
> If someone could help, it would be very appreciated ...
>=20
> Thanks a lot,=3D20
Hi,
I think that if you want to use only simple SQL to get the whole
structure, you'll have to create a common table for all leaves from
your existing tables, without the "custom infos" and with an
additional column for the criterion type, and then write a query that
use:
- a hierarchical clause (CONNECT BY) to scan the new table
- a CASE expression to select the "custom infos" in the right table
according to the criterion type of the leaf
Regards,
Jerome
--
http://www.freelists.org/webpage/oracle-l
Received on Thu Apr 28 2005 - 05:23:56 CDT