Hallo Leute!
Nun, ich habe ein kleines Problem mit einer meiner MySQL abfragen. und
ich wär echt froh wenn irgend ein profi von euch mir da weiter helfen kann!!
Grundlegendes zur datenbank:
ich habe 3 Tabellen mit entsprechenden zeilen (-) wie folgt:
1. events (beihnaltet eine liste von events)
- id_events
- Start
- Stop
- Titel
2. kategorie (beinhaltet verschiedene usergruppen)
- id_cat
- subofcat
- titel
3. daten (beinhaltet dann schlussendlich alle daten und verlinkt die beiden)
- ID
- id_cat
- id_events
als beispiel also:
zeilen in events:
zeilen in kategorie:
zeilen in data:
soweit so gut
mit der abfrage:
kriege ich schön alle daten - aber nur für kategorien die eine unterkategorie sind.
im beispiel würde mir das also folgendes ausgeben:
nicht aber die anderen daten die ja noch vorhanden sind:
soweit mein problem.
wenn ich mit dem query
alle daten ersuche erhalte ich diese zwar aber ohne die dazugehörigen hauptkategorien (wenn vorhanden)
im beispiel also:
und nicht wie gewünscht:
worum es bei der frage eigentlich geht:
wenn es mehrere events gibt für familienmitglieder oder freunde
und ich in einer abfrage alle events für den hausmann suche, dann möchte
ich auch die events für familienmitglieder gelistet haben...
kann mir da jemand helfen? mmh (das ganze sollte dann auch noch tiefer
gehen als nur eine ebene (also auch für einen markus noch funktionieren
[siehe beispiel oben]) - aber daran wage ich noch gar nicht zu denken )
oder gibt es eine andere lösung für mein problem? (anderer
tabellenaufbau usw... ) ich bin dankbar für alle anregungen!
gruss kendor
Nun, ich habe ein kleines Problem mit einer meiner MySQL abfragen. und
ich wär echt froh wenn irgend ein profi von euch mir da weiter helfen kann!!
Grundlegendes zur datenbank:
ich habe 3 Tabellen mit entsprechenden zeilen (-) wie folgt:
1. events (beihnaltet eine liste von events)
- id_events
- Start
- Stop
- Titel
2. kategorie (beinhaltet verschiedene usergruppen)
- id_cat
- subofcat
- titel
3. daten (beinhaltet dann schlussendlich alle daten und verlinkt die beiden)
- ID
- id_cat
- id_events
als beispiel also:
zeilen in events:
Code:
1 - start1 - stop1- faulenzen 2 - start2 - stop2 - ausflug 3 - start3 - stop3 - schlafen
Code:
1 - NULL - Familienmitglied 2 - NULL - Besucher 3 - 1 - Hausmann 4 - NULL - Irgendwer 5 - 2 - Freund (heisst so viel wie der Hausmann ist auch ein Familienmitglied, der Freund ist ein Besucher - zeile subofcat sagt welches die oberkategorie ist) 6 - 3 - Markus (Markus ist ein Freund und ein Besucher! - fortgeschritten dann)
Code:
1 - 1 - 3 (von start1 bis stop1 gilt faulenzen [1] für den hausmann [3]) 2 - 1 - 4 (von start1 bis stop1 gilt faulenzen [1] für irgendwer [3]) 3 - 3 - 1 (von start3 bis stop3 gilt schlafen [3] für alle familienmitglieder [1] - also ach für den hausmann) 4 - 2 - 5 (von start2 bis stop2 gilt ausflug [2] für den freund [5]
mit der abfrage:
PHP-Code:
SELECT
events.titel,
kategorie.titel AS Wer,
events.start,
kategorie1.titel AS Hauptkategorie,
events.stop
FROM
events
INNER JOIN daten ON (events.id_event=daten.id_event)
INNER JOIN kategorie ON (cat.id_cat=daten.id_cat)
INNER JOIN kategorie kategorie1 ON (kategorie1.id_cat=kategorie.subofcat)
im beispiel würde mir das also folgendes ausgeben:
Code:
> hausmann - faulenzen - start1 - stop1 > freund - ausflug - start2 - stop2
Code:
> irgendwer - faulenzen - start1 - stop1 > familienmitglieder - schlafen - start3 - stop3
wenn ich mit dem query
PHP-Code:
SELECT
events.titel,
kategorie.titel AS Wer,
events.start,
events.stop
FROM
events
INNER JOIN daten ON (events.id_event=daten.id_event)
INNER JOIN kategorie ON (kategorie.id_cat=daten.id_cat)
im beispiel also:
Code:
> hausmann - faulenzen - start1 - stop1 > freund - ausflug - start2 - stop2 > irgendwer - faulenzen - start1 - stop1 > familienmitglieder - schlafen - start3 - stop3
Code:
> hausmann - familienmitglieder - faulenzen - start1 - stop1 > freund - besucher - ausflug - start2 - stop2 > irgendwer - NULL - faulenzen - start1 - stop1 > familienmitglieder - NULL - schlafen - start3 - stop3
wenn es mehrere events gibt für familienmitglieder oder freunde
und ich in einer abfrage alle events für den hausmann suche, dann möchte
ich auch die events für familienmitglieder gelistet haben...
kann mir da jemand helfen? mmh (das ganze sollte dann auch noch tiefer
gehen als nur eine ebene (also auch für einen markus noch funktionieren
[siehe beispiel oben]) - aber daran wage ich noch gar nicht zu denken )
oder gibt es eine andere lösung für mein problem? (anderer
tabellenaufbau usw... ) ich bin dankbar für alle anregungen!
gruss kendor
Kommentar