thx!
dann lese ich mir mal das "neested" durch...
Ich habe mir als Alternative das "UNION" Statement rausgesucht. Gibts da Performanceprobleme wenn man viele (>5) SELECTs miteinander verbindet? Kann ich das Ergebnsi der UNION Abfrage mit LIMIT begrenzen?
Rekursives SQL-Statement
Einklappen
X
-
sorry,
nachdem es jetzt fett riech ich den braten auch
für die "nested sets" kannst du auch hier mal in den tuts
nachschaue, berni hat da was verfasst.
Einen Kommentar schreiben:
-
@wurzel: Ich habe im obigen Post noch hingeschreiben, aus welchen Tabellen die Beispieldaten kommen (einmal aus der Artikelgruppen-Tabelle, einmal aus der Artikeltabelle, d.h. SCHITZEL ist die Gruppe SCHNITZEL!)
Ausserdem können die Artikelgrouppen beliebig geschachtelt werden, es ist nicht auf 2 oder 3 ebenene festgelegt!
|Krusenbaum: werde ich mal lesen, aber ich kenne mich noch nicht so gut aus...
Einen Kommentar schreiben:
-
Ich glaub was du suchst ist eine rekursive query, die dir alle Unterkategorien auf einmal ausliest. Dazu gibt es verschiedene Ansätze. Ein sehr beliebter Ansatz ist das Nested-Tree Prinzip.
Querying XML Data Based on Nested Relational Sequence Model
http://www.codebits.com/ntm/
http://www.google.de/search?hl=de&ie...le-Suche&meta=
Einen Kommentar schreiben:
-
PHP-Code:$sql = "select * from articlegroups where idx='$idx' or parentgroup='$idx' order by idx, groupname limit 0,10";
nu herkommen (selbe tabelle ??) aber wenn keine 2. existiert sollte das obige statement klappen.
mahlzeit wurzel
Einen Kommentar schreiben:
-
Das mit JOIN verstehe ich noch nicht ganz,
aber kann mir UNION weiterhelfen? Kann mir da jemand bitte ein Beispiel zeigen?
DANKE!!
Einen Kommentar schreiben:
-
also hier mal die Tabellenstruktur:
Table "articlegroups":
-idx (INT)
-groupname (VARCHAR)
-parentgroup (INT)
"parentgroup" zeigt wieder auf einen Eintrag in dieser Tabelle und steht für die übergeordnetet Gruppe.
BSP: Artikelgruppen Tabelle
Code:-ESSEN (IDX = 1; PARENTGROUP = 0) +NUDELN (IDX = 2; PARENTGROUP = 1) +FLEISCH (IDX = 3; PARENTGROUP = 1) +SCHNITZEL (IDX = 4; PARENTGROUP = 3) -TRINKEN (IDX = 5; PRENTGROUP = 0)
Das Prblem liegt nun darin z.B. alle Artikel unterhalb von z.B. "FLEISCH" angezeigt werden sollen. Beipielartikel:
Artikeltabelle
-BRATEN (ARTICLEGROUP = 3)
-GUOLASCH (ARTIKLEGROUP = 3)
-SCHWEINESCNITZEL (ARTICLEGROUP = 4)
-SCHNITZEL VOM RIND (ARTICLEGROUP = 4)
Jetzt will ich wenn die Artikelgruppe FLEISCH ausgewählt wird, ALLE Arikel von der Gruppe FLEISCH, aber auch alle Artikel unterhalb dieses Knotens anzeigen!Zuletzt geändert von thabaker; 25.02.2003, 13:39.
Einen Kommentar schreiben:
-
hi,
entweder suchst du mal nach "join" oder postest deine tabellenstrukturen.
gruss wurzel
Einen Kommentar schreiben:
-
Noch was: Gut wäre am Ende eine Liste die man mit LIMIT beschränken könnte....
ein Vorschlag von mir:
-Verschiedene SQL-Statements benutzen und die Ergebnisse in einer temporären Tabelle abspeichern. Nachteil: Neue Tabelle muss mit eindeutigem Namen erzeugt werden, bei vielen Abfragen Performance-Einbussen?!
Einen Kommentar schreiben:
-
Rekursives SQL-Statement
Hi Leute!
ich habe folgendes Problem:
Ich möchte Artikel einer bestimmten Artikelgruppe anzeigen und zusätzlich alle Artikel von den untergeordneten Artikelgruppen.
Das erste ist kein Problem, einfach ein WHERE ...=... dranhängen.
Wie schaffe ich das aber die anderen Artikel, die ja eine WHERE Bedingung haben die erst im Statement abgefragt wird, in das selbe Result einzufügen (per SQL oder PHP, das ist egal).
D.h. ich will am Ende in der PHP-MySQL-ResultID ALLE Artikel unterhalb einer Artikelgruppe haben! (die Artikel speichern nur ihrer direkte Gruppe, nicht die übergeordneten Gruppen).
Vielen Dank im voraus!
ThaBakerStichworte: -
Einen Kommentar schreiben: