Thema: Delphi Performance verbessern

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#59

Re: Performance verbessern

  Alt 12. Dez 2006, 08:17
Hi,

Zitat von Luncustaf:
In diesem beispiel hier sehen ich keine beziehung zwischen der kategorie und der unterkategorie
mit KAT_ID = 1 wird Hackfleisch als Unterkategorie von Fleisch festgelegt. Für die ersten drei Kategorien sieht das dann so aus:

Code:
ID,KAT_ID,IPOS,NAME
1,NULL,0,"Eier- & Mehlspeisen"
2,NULL,1,"Auflauf & Co."
3,NULL,2,"Fleisch"
...
22,1,0,"Crêpes"
24,1,1,"Deftiges & Delikates"
25,1,2,"Omelettes"
26,1,3,"Pfannkuchen"
27,1,4,"Sonstiges"
28,2,0,"Sonstiges"
29,2,1,"Gratins"
30,2,2,"Aufläufe"
31,2,3,"Soufflès"
32,3,0,"Hackfleisch"
33,3,1,"Kalb"
34,3,2,"Lamm & Hammel"
35,3,3,"Rind"
36,3,4,"Schwein"
37,3,5,"Sonstiges & Delikatessen"
Das Feld IPOS regelt die Anzeige-Reihenfolge der Unterkategorien in der jewiligen Hauptkategorie, aber auch die Ordnung der Hauptkategorien. Um deine (Unter)Kategorien in einer TreeView anzeigen zu können brauchst du dann einen LEFT OUTER JOIN. Ein einziges Statement liefert dir deine Daten in genau der Reihenfolge, die du für die Anzeige brauchst:

SQL-Code:
SELECT U.*
FROM Kategorien U
LEFT OUTER JOIN Kategorien K ON K.ID = U.KAT_ID
ORDER BY K.iPos, U.iPos
Hoffentlich habe ich nicht zu viele Fehler eingebaut.

Freundliche Grüße
  Mit Zitat antworten Zitat