SQL: Mehrere Werte in einer Zelle ausgeben
Julia
- datenbank
Hi,
ich habe eine mysql-Datenbank mit 3 Tabellen, etwa wie folgt:
Programme:
PIndex ProgName
------------------
1 Programm1
2 Programm2
Benutzer:
BIndex BenName
------------------
1 Müller
2 Meier
Zuordnung:
PrIndex BIndex PIndex
-----------------------
1 1 1
2 2 1
3 2 2
In der einen Tabelle sind alle Programme gelistet, in der anderen alle Benutzer. In der dritten (Zuordnung) wird nun ein Benutzer einem Programm zugeordnet, wobei auch mehrere Benutzer ein Programm benutzen dürfen (in dem Fall Programm 1 durch Müller UND Meier).
Ich will nun eine Auflistung aller Programme haben und ein (aber eben nur EIN) weiteres Feld mit den Benutzern. In etwa so:
Programm Benutzer
----------------------------
Programm1 Müller, Meier
Programm2 Meier
Ich weiß nicht wirklich, ob das geht, wäre aber für jeden Tipp sehr dankbar!
MfG
Julia
Hallo Julia,
das geht mit GROUP_CONCAT.
SELECT ProgName, GROUP_CONCAT(BenName SEPARATOR '/') AS Anwender
FROM ...
GROUP BY ...
Liebe Grüße
Lydia.
Hi,
ich habe eine mysql-Datenbank mit 3 Tabellen, etwa wie folgt:Programme:
PIndex ProgName1 Programm1
2 Programm2Benutzer:
BIndex BenName1 Müller
2 MeierZuordnung:
PrIndex BIndex PIndex1 1 1
2 2 1
3 2 2In der einen Tabelle sind alle Programme gelistet, in der anderen alle Benutzer. In der dritten (Zuordnung) wird nun ein Benutzer einem Programm zugeordnet, wobei auch mehrere Benutzer ein Programm benutzen dürfen (in dem Fall Programm 1 durch Müller UND Meier).
Ich will nun eine Auflistung aller Programme haben und ein (aber eben nur EIN) weiteres Feld mit den Benutzern. In etwa so:
Programm Benutzer
Programm1 Müller, Meier
Programm2 MeierIch weiß nicht wirklich, ob das geht, wäre aber für jeden Tipp sehr dankbar!
MfG
Julia
Liebe Lydia!
1000 Dank, das war goldrichtig und genau das, was ich gesucht hatte! Du hast meinen Tag gerettet :-)
Viele Grüße,
Julia