sql >> Databasteknik >  >> RDS >> Oracle

hur får man in rotförfäderna i en hierarkifråga med oracle-10g?

I en databasmiljö kommer de främmande nycklarna på toppnivån med största sannolikhet att vara nollvärden så här:

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

Så jag rekommenderar att du använder något 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;

fiol



  1. Ska jag lägga till en typkolumn för att designa arv i postgreSQL?

  2. Två SQL LEFT JOINS ger felaktigt resultat

  3. Återskapa MySQL-fel:Servern stängde anslutningen (node.js)

  4. SQLSTATE[HY000] [1698] Åtkomst nekad för användaren 'root'@'localhost'