Ich mag die folgende Datenbanktabelle von dynamischen Spalten in Zeilen in MySQL zu transformieren:MySQL PivotTable - Wie dynamische Spalten in Zeilen konvertieren?
Ich habe bereits einen tiefen Blick auf stackoverflow.com sowie in diesem großartigen Beispiel here aber keiner der Fälle entspricht meine Forderung.
Das Beispiel aus dem Link oben gezeigt würde meine Vorstellungen, wenn es dynamisch sein würde (ich weiß nicht, den Wert ‚Farbe‘ oder ‚Größe‘, weil sie dynamisch ändert):
So
SELECT
item_id,
MAX(IF(property_name = 'color', value, NULL)) AS color,
MAX(IF(property_name = 'size', value, NULL)) AS size,
...
...
...
FROM
properties
GROUP BY
item_id;
diese meine Datenbanktabelle ist:
id | customer_id | customer_tbl_id | customer_tbl_col_name
1 | 1 | 1 | CustomerColName_1
2 | 1 | 1 | CustomerColName_2
3 | 1 | 1 | CustomerColName_3
4 | 1 | 2 | CustomerColName_4
5 | 1 | 2 | CustomerColName_5
6 | 2 | 1 | CustomerColName_6
7 | 2 | 1 | CustomerColName_7
nun das Ergebnis meiner SQL-Abfrage wie folgt sein sollte:
1 (customer_id) | 1 (customer_tbl_id) | CustomerColName_1 | CustomerColName_2 | CustomerColName_3
1 (customer_id) | 2 (customer_tbl_id) | CustomerColName_4 | CustomerColName_5
2 (customer_id) | 1 (customer_tbl_id) | CustomerColName_6 | CustomerColName_7
Genau das, was ich suchte. Danke vielmals. Du hast mir viel Zeit gespart !!! – njlqay
Um zwei Felder zu kombinieren: GROUP_CONCAT (DISTINCT concat (field1, ",", field2)) – tyro