Toon posts:

[SQL] Records ophalen die Records onder zich heeft

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zou graag in een SQL query een lijst met alle records willen ophalen die records onder zich hebben of de als parentID 0 hebben. De tabel ziet er als volgt uit:
code:
1
2
3
4
5
6
7
ID      ParentID          Titel
1       0                      Nummer1
2       0                      Nummer2
3       1                      Nummer3
4       0                      Nummer4
5       3                      Nummer5
6       2                      Nummer6

Het resultaat zou er nu zo moeten uit zien:
code:
1
2
3
4
5
6
Nummer1
  -  Nummer3
       - Nummer5
Nummer2
  -  Nummer6
Nummer4


Ik weet hoe ik de Parent eruit kan halen, maar hoe ik nu verder moet zou ik echt niet weten. Kan iemand mee een beetje opweg helpen? Thnx.

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Kun je niet gewoon:
code:
1
2
3
4
5
6
SELECT
  Titel
FROM
  tabel
ORDER BY
  ParentID, ID


doen? of bedoel je dat niet?

Noushka's Magnificent Dream | Unity


  • gekkie
  • Registratie: April 2000
  • Laatst online: 22:19
Dat gaat je niet met 1 query lukken als je een recursief database model gebruikt zie:

http://www.sitepoint.com/article/hierarchical-data-database

en

http://www.evolt.org/arti...l_data/17/4047/index.html

Je zou dus voor de "modified preorder tree traversal algorithm" kunnen kiezen. Hierbij kun je een boom(of deel) met 1 query opvragen. Dit model heeft echter wel weer het nadeel dat een insert je weer meer moeite kost. Kortom een afweging ...

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
In de SQL Server Books Online staat een voorbeeld. Zoekterm: 'Expanding Hierarchies'

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Als er een maximum in het aantal niveaus is dan zou je een LEFT JOIN kunnen gebruiken.

  • Swa-baldie
  • Registratie: Juni 2002
  • Laatst online: 19-06-2023
Als je Oracle gebruikt kijk dan eens naar connect by en prior
Pagina: 1