Hallo Marc,
Ich habe eine PHP Seite mit einer SQLite Datenbank. Darin sind 3 Tabellen:
- t_users (ID, lastname)
- t_teams (ID, teamname)
- t_users_teams (ID, userID, teamID)
Nun kann natürlich ein Mitarbeiter mehreren Teams zugewiesen sein. Nun möchte ich eine Abfrage generieren, die jeweils eine Datenzeile pro Mitarbeiter ausweist, aber alle zugewiesenen Teams auflistet. Das müsste so aussehen:
lastname teamname
Mitarbeiter 1 Team 1, Team 2
Mitarbeiter 2 Team 2, Team 4, Team 5
Ist das irgendwie möglich?
Ja, SQLite unterstützt erfreulicherweise GROUP_CONCAT(), siehe http://www.sqlite.org/lang_expr.html (suche nach group_concat mit der Suchefunktion Deines Browsers):
SELECT
u.lastname,
GROUP_CONCAT(t.teamname, ", ")
FROM
t_users u
INNER JOIn
t_user_teams ut
ON
u.ID = ut.userID
INNER JOIN
t_teams t
ON
ut.teamID = t.ID
GROUP BY
u.lastname
ORDER BY
u.lastname
sollte das gewünschte Resultat liefern.
Freundliche Grüße
Vinzenz