AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Tree aus einer Tabelle

Ein Thema von Kalfany · begonnen am 15. Mär 2009 · letzter Beitrag vom 15. Mär 2009
Antwort Antwort
Kalfany

Registriert seit: 28. Feb 2008
Ort: München
153 Beiträge
 
Delphi 2007 Professional
 
#1

SQL Tree aus einer Tabelle

  Alt 15. Mär 2009, 15:50
Datenbank: MySQL • Zugriff über: SQL
hi,

irgendwie steh ich grad aufm schlauch (leider auch schon einige zeit nix mehr mit sql zu tun gehabt)

ich habe eine tabelle:

Code:
  id | titel | subid
------------------
1  | text | 0
2  | text | 0
3  | text | 0
4  | text | 2
5  | text | 2
6  | text | 0
7  | text | 1
jetzt stehe ich vor folgendem problem:

die daten sollen nach ID sortiert gelesen werden aber die mit subid > 0 sollen der zugehörigen id untergeordnet werden... also so:

Code:
1  | text | 0
->7  | text | 1
2  | text | 0
->4  | text | 2
->5  | text | 2
3  | text | 0
6  | text | 0
also eig. ein baum mit nur einem unterknoten .... mir würds schomal helfen wenn mir jemand sagen könnte obs überhaupt geht
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: SQL Tree aus einer Tabelle

  Alt 15. Mär 2009, 16:11
Allgemeine Lösung: klick

Eingeschränkte Lösung (nur eine Unterebene):
SQL-Code:
SELECT CASE WHEN subid = 0
         THEN id
         ELSE subid
       END AS sortID, *
FROM tabelle
ORDER BY sortID, id
oder noch kürzer, wenn anstelle von der Zahl 0 in der subid-Spalte der Wert NULL stehen würde...
SQL-Code:
SELECT COALESCE(subid, id) AS sortID, *
FROM tabelle
ORDER BY sortID, id
und noch kürzer...
SQL-Code:
SELECT *
FROM tabelle
ORDER BY COALESCE(subid, id), id
  Mit Zitat antworten Zitat
Kalfany

Registriert seit: 28. Feb 2008
Ort: München
153 Beiträge
 
Delphi 2007 Professional
 
#3

Re: SQL Tree aus einer Tabelle

  Alt 15. Mär 2009, 17:50
wow vielen dank ...

nachdem ich an der struktur nix ändern kann/darf fallen 2 & 3 schonmal weg ... aber 1 funktioniert wunderbar .... wär nie auf die idee gekommen ein case im select-teil zu verwenden.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: SQL Tree aus einer Tabelle

  Alt 15. Mär 2009, 18:42
Hier ist nochmal ein anderes Beispiel.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz