php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-06-2013, 23:54
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard hierarchische Daten abfragen

Hallo,

meine Tabelle hat folgenden Aufbau:

Code:
id | name  | image  | parent_id
1  | xx    |   xxx  |    0
2  | xx    |   NULL |    1
3  | xx    |   NULL |    2
Die Spalte image ist nur gefüllt, wenn parent_id = 0 ist, also auf oberster Ebene. Auf den unteren Ebenen soll das Bild aus der obersten Ebene verwendet werden.
Gibt es eine Abfrage, mit der man (egal auf welcher Unterebene man sich befindet) das Bild der obersten Ebene bekommt?

Mit dieser Abfrage klappt es für die 3. Ebene, aber ich brauchte es dynamisch, also egal auf welcher Ebene man ist.
Code:
select t1.name,t2.name,t3.name from table t1
inner join table t2 on t1.id = t2.parent_id
inner join table t3 on t2.id = t3.parent_id

Geändert von lx-club (10-06-2013 um 00:09 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 10-06-2013, 00:40
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 451
mermshaus wird schon bald berühmt werden
Standard

Eine elegante Lösung für genau das Teilproblem für dieses Schema (Adjazenzliste) weiß ich spontan nicht.

Aber vielleicht mal im Kontext überlegt: Liest du nicht an anderer Stelle sowieso aus irgendeinem Grund die gesamte Baumstruktur vom aktiven Element bis zum Root-Element aus?

Ansonsten könntest du wohl Nested Sets nutzen (auch ungeachtet dieses speziellen Problems keine schlechte Idee). Damit wärst du die Notwendigkeit zur Rekursion los.

- https://de.wikipedia.org/wiki/Nested_Sets

Naiv gesagt: Du kannst es auch mit rekursiven Queries in PHP lösen. Elegant ist dann zwar wirklich anders, aber ich schätze es als ganz realistisch ein, dass das nicht der Aspekt sein wird, der sich am schlimmsten auf die Performance auswirken wird.

Geändert von mermshaus (10-06-2013 um 00:47 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 10-06-2013, 21:05
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

also die Baumstruktur habe ich tatsächlich ausgelesen, aber nicht die gesamt, sondern nur den Teil, der in der Navigation zu sehen ist.

Dein Tip mit dem einlesen der gesamten Struktur habei hc erstmal umgesetzt. Ich setze das Bild in jeder Ebene nur, wenn es nicht leer ist. Ansonsten wird das Bild der vorherigen Ebene (also des vorherigen Duchlaufs) genommen.
Mit Zitat antworten
  #4 (permalink)  
Alt 10-06-2013, 21:40
Benutzerbild von Yaslaw Yaslaw
 Registrierter Benutzer
Links : Onlinestatus : Yaslaw ist offline
Registriert seit: May 2013
Beiträge: 13
Yaslaw befindet sich auf einem aufstrebenden Ast
Standard

Ist mit einem Adjacency Tree nicht ganz einfach

Yaslaw.Info: [MySQL] Hierarchie Baum (Adjacency Tree) auslesen
Mit Zitat antworten
  #5 (permalink)  
Alt 10-06-2013, 21:52
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für den Hinweis, werde ich mir mal ansehen.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL 5 Viele Abfragen zu vielen Daten gleichzeitig abfragen netterkerl1981 SQL / Datenbanken 3 22-01-2007 16:39
Hierarchische Baumstruktur abbilden Screw Driver PHP Developer Forum 2 04-10-2006 02:42
Daten abfragen trivial SQL / Datenbanken 0 25-04-2006 15:06
user daten per join abfragen und gleichzeitig black/whitelist abfragen? westberlin SQL / Datenbanken 10 07-12-2005 16:32
Hierarchische Ausgabe bei JOIN-verknüpften Tabellen Scherzo SQL / Datenbanken 2 17-10-2005 00:12

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:32 Uhr.