Ich habe das folgende Problem: Ich habe drei Tabellen, eine Benutzer-Tabelle, eine Tabelle Kategorien und eine Tabelle user_category, die die beiden ersten Tabellen mit Foregn-Tasten verbindet.MySQL Inner Join Merge Zeilen
Benutzer-Tabelle:
id username
1 user1
... ...
Kategorien Tabelle:
id category
1 test1
2 test2
3 test3
... ...
user_category Tisch
id user_id category_id
1 1 1
2 1 2
3 1 3
I Now Ich möchte alle Benutzer mit ihren Kategorien auswählen, aber ich möchte nicht mehrere Zeilen desselben Benutzers haben. Stattdessen möchte ich alle Kategorien eines Benutzers in ein Kategoriefeld zusammenführen.
SELECT users.*, categories.category FROM user_category INNER JOIN users ON users.id = user_category.user_id LEFT JOIN categories ON categories.id = user_category.category_id
Der Ausgang:
id username category
1 user1 test1
1 user1 test2
1 user1 test3
Aber ich will folgendes:
id username category
1 user1 test1, test2, test3
Gibt es eine Möglichkeit, dies zu tun?
'test1, test2 verwenden können, test3' Sie nicht tun sollten und sollten lernen, wie Sie Ihre db nach Username –
Verwenden GROUP_CONCAT und Gruppe zu normalisieren –