sql >> Database teknologi >  >> RDS >> Oracle

hvordan får man root-forfædrene i en hierarkiforespørgsel ved hjælp af oracle-10g?

I et databasemiljø vil fremmednøglerne på øverste niveau højst sandsynligt være nuller som sådan:

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

Så jeg vil anbefale at bruge noget som:

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;
 

violin



  1. Beregning af løbende total med OVER-klausul og PARTITION BY-klausul i SQL Server

  2. Vis alle triggere i Oracle-databasen

  3. Sådan sender du varchar med enkelte citater til Stored Proc i Oracle

  4. Hvordan afvikles .sql-fil ved hjælp af powershell?