Select über mehrere Tabellen in einer Anfrage
Peter
- datenbank
Hallöle,
ich habe eine Frage zu MySql.
es seien zwei Tabellen:
Tabelle 1
P_ID || VALUE
01 Erster
02 Zweiter
03 Dritter
Tabelle 2
DS_ID || ARTEN
01 Gurken
01 Tomaten
01 Paprika
02 Hack
02 Gyros
Die DS_ID der zweiten Tabelle entspricht der P_ID der ersten Tabelle.
Ich suche nun die SQL-Anweisung, welche mir folgendes Ergebnis liefert:
P_ID, VALUE, ARTEN
01 Erster Gurken, Tomaten, Parika
02 Zweiter Hack, Gyros
Ich habe versucht, eine solche Anweisung zu gestalten, krieg´s aber nicht hin.
Geht das überhaupt in einer Anweisung ? Kann ich in diesem Beispiel die Arten in einer solchen Auflistung beziehen ?
Gruß, Peter
hallo
Ich habe versucht, eine solche Anweisung zu gestalten, krieg´s aber nicht hin.
wie sieht denn dein ansatz aus ?
Geht das überhaupt in einer Anweisung ?
ja
Kann ich in diesem Beispiel die Arten in einer solchen Auflistung beziehen ?
ja
cu
ulli
wie sieht denn dein ansatz aus ?
ungefähr so:
select rec0.*, rec1.* from tabelle0 rec0, tabelle1 rec1
where rec0.P_ID = rec1.DS_ID;
Dabei bekomme ich aber die Arten eben nicht als Auflistung zurück. Ich habe auch mit erfolglos joins rumgepfriemelt.
Geht das überhaupt in einer Anweisung ?
ja
Kann ich in diesem Beispiel die Arten in einer solchen Auflistung beziehen ?
ja
Wie ? Ich wäre für einen Hinweis dankbar, wie ich die Arten im Ergebnis-Array als Auflistung beziehen kann.
Vielen Dank, Peter
hallo
ungefähr so:
select rec0.*, rec1.* from tabelle0 rec0, tabelle1 rec1
where rec0.P_ID = rec1.DS_ID;
da wirst du wohl als ausgabe das hier bekommen oder?
01 erster gurken
01 erster salat
01 erster ...
02 zweiter ...
usw.
... ich verstehe jetzt erst deine frage =)
Geht das überhaupt in einer Anweisung ?
ja
ich nehme alles zurück und behaupte das gegenteil (ups) ... imho geht das nicht ... musst wohl das problem in zwei schritten erschlagen.
Wie ? Ich wäre für einen Hinweis dankbar, wie ich die Arten im Ergebnis-Array als Auflistung beziehen kann.
du kannst doch mit join(",",$array) ein array in einen string umwandeln.
cu
ulli
yo,
ich würde erst einmal dein datenmodell überdenken, bevor ich mich an die abfragen ran mache. kann sehr gut sein, dass man es besser gestalten kann. dazu wäre es aber gut, mehr deiner vorgaben zu kennen.
wenn du das datenmodell behalten willst, lies alle datensätze in ein array ein und schreibe dir ein script, dass aus dem array die gewünschte form ausliest. dazu musst du deiner abfrage noch eine entsprechende sortierung mitgeben, zum beispiel ORDER BY sparte_mit_den_arten. oder aber du machst mehrere abfragen draus.
Ilja