Vielleicht ist meine Frage nicht so klar, bitte lassen Sie mich erklären: Was ich brauche, ist eine Liste aller Benutzer mit einer entsprechenden Client-Nummer/Großhändler-Kombination erhalten, jeder Kunde hat 1 bis zu 4 verschiedene Kundennummer/Großhändler ComboWie mysql innere Join-Ergebnisse von Zeilen in Spalten gruppieren
In meinem db habe ich 2 Tabellen
USERS
id | name
---------
1 | a
2 | b
CLIENT_NUMBERS
id | user_id | number | wholesaler
----------------------------------
1 | 1 | ac1 | aw1
2 | 1 | ac2 | aw2
3 | 2 | bc1 | bw1
mit einem einfachen INNER ich JOIN bekam Client Zeilen dupliziert, eine für jedes entsprechende Kundennummer/Großhändler
Ich habe es geschafft, die Ergebnisse mit GROUP_CONCAT in dieser Abfrage zu beheben:
SELECT a.id AS user_id, a.name AS Name
GROUP_CONCAT(b.client_no, ', ', b.wholesaler SEPARATOR '; ') AS client_no_wholesaler
FROM users AS a
INNER JOIN client_numbers AS b ON a.id = b.user_id
GROUP BY ID
user_id | name | client_no_wholesaler
--------------------------------------------
1 | a | ac1, aw1; ac2, aw2
2 | b | bc1, bw1
So weit so gut, aber ich muss die Kundennummer/Großhändler Kombination in verschiedenen Spalten zu „explodieren“, so meine Ergebnisse wie folgt aussehen :
user_id | name | client_no_wholesaler1 | client_no_wholesaler2 | ...up to 4
----------------------------------------------------------------------------
1 | a | ac1, aw1 | ac2, aw2 |
2 | b | bc1, bw1 | |
Dadurch, nachdem die Ergebnisse der Abfrage mit einem einfachen PHP explodiert immer ist keine Option, da ich eine Klasse bin mit seinem einer XLS-Datei und auf meinem Abfrageergebnis Spalten zu generieren, werden alle Ideen geschätzt .
"Pivot" Ich habe heute etwas Neues gelernt, danke, Ihre Anfrage funktioniert so, wie ich es brauche – hey259