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 19-09-2003, 18:43
piano_idefix
 Newbie
Links : Onlinestatus : piano_idefix ist offline
Registriert seit: Sep 2003
Beiträge: 2
piano_idefix ist zur Zeit noch ein unbeschriebenes Blatt
Standard [MySQL 4.0] Baum traversieren

Ich habe hier ein Problem mit der Realisierung von Bäumen in MySQL, die schnell abgefragt werden können. Es handelt sich dabei um eine Termindatenbank bestehend aus mehrere Tabellen, unter anderem
- baum
- termine

BAUM:
- element_nr
- name
- vater_nr

TERMINE:
- termin_nr
- anlass
- option1
- option2
... etc

Der Baum kann bis zu 6 Elementen tief sein und in jedem Element sind Termine möglich. z.B. Organisation => Filiale => Subabteilung 1 => Subabteilung 2 => ...

Nun möchte ich eine Abfrage machen, die z.B. lautet:
Ich will alle Termine ab Filiale X (element_nr = 3) und deren Subabteilungen.

Mein Lösungsansatz:
zuerst alle element_nr der subabteilung mit einer in php rekursiven funktion abfragen und dieses für die hauptquery verwenden.

SELECT [feldnr] FROM baum, termine WHERE (element_nr = 2 OR element_nr = 45 OR element_nr = 234 OR ....) AND option1 = "ab" etc... AND baum.element_nr = termine.element_nr ORDER BY ...

Dies ist leider nicht gerade eine sehr schnelle query (wie sich nach EXPLAIN SELECT ... herausgestellt hat). Gibt es eine bessere Möglichkeit, oder scheitert man daran, dass Subquerys noch nicht möglich sind?
Mit Zitat antworten
  #2 (permalink)  
Alt 19-09-2003, 21:33
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

schau mal hier:

wie macht mans am besten?

die da vorgestellte menüstruktur sollte das gewünschte leisten, wenn nicht, hier noch ein link zu nem tutorial zu "nested sets"
__________________
Ich denke, also bin ich. - Einige sind trotzdem...

Geändert von mrhappiness (19-09-2003 um 21:38 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 21-09-2003, 07:52
piano_idefix
 Newbie
Links : Onlinestatus : piano_idefix ist offline
Registriert seit: Sep 2003
Beiträge: 2
piano_idefix ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Links, das mit den 'nested Sets' tönt noch interessant. Werde mirs zu Gemüte führen. Habe in einem anderen Forum interessante Lösungsansätze erhalten:

http://cgi.ethz.ch/~tillk/cgi-bin/wb...=&postid=39232
Mit Zitat antworten
Antwort

Lesezeichen


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

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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
Maqetta Open Source  HTML5-Editor ansehen Maqetta Open Source HTML5-Editor

Einen WYSIWYG-Editor zur visuellen Erstellung von Userinterfaces in HTML5 (Drag-and-Drop)

13.05.2019 Berni | Kategorie: HTML5/ EDITOR
NodeBB

NodeBB ist eine Foren-Software auf NodeJS-Basis

13.05.2019 Berni | Kategorie: PHP/ Forum PHP Software
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:34 Uhr.