sql >> Database >  >> RDS >> Oracle

hoe de root-voorouders in een hiërarchiequery te krijgen met oracle-10g?

In een databaseomgeving zullen de externe sleutels op het hoogste niveau hoogstwaarschijnlijk nulls zijn, zoals:

| pid  | cid  |
|------*------|
| null |  2   |
|  2   |  3   |
|  3   |  4   |
| null |  6   |
|  6   |  7   |
|  7   |  8   |

Dus ik zou aanraden iets te gebruiken als:

select connect_by_root(t1.cid) as startpoint,
       t1.cid                  as rootnode
  from your_table t1
 where connect_by_isleaf = 1
 start with t1.cid in (8, 4)
connect by prior t1.pid = t1.cid;

viool



  1. Externe sleutel van het type char toevoegen in mysql

  2. Grant maakt elke trigger aan versus trigger voor het maken van subsidies

  3. Doctrine/Symfony-querybuilder voeg selectie toe aan linker join

  4. Hoe een unieke index op meerdere kolommen te definiëren in sequelize