0
Wie teile ich Group_Concat() Ergebnis in verschiedene Spalten? Ich möchte es nicht in der gleichen Zelle zeigen, getrennt durch Komma.Teilen der Ausgabe von MySQL Group_Concat()
Wie teile ich Group_Concat() Ergebnis in verschiedene Spalten? Ich möchte es nicht in der gleichen Zelle zeigen, getrennt durch Komma.Teilen der Ausgabe von MySQL Group_Concat()
Sie können SUBSTRING_INDEX zweimal nach dem Einschließen in eine subquery
verwenden, falls Sie das Trennzeichen kennen.
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 3), '.', -1)
FROM (
SELECT GROUP_CONCAT(...) AS SomeColumn
FROM ...
) AS SomeTable
SUBSTRING_INDEX
bekommt die Zeichenfolge zuerst -> nSUBSTRING_INDEX
entfernt die Zeichenfolge aus zuerst -> n - 1prüfen diese SQLFiddle Beispiel
In Ihrem Fall, wenn Sie kennen die Anzahl der Spalten, Ihre Abfrage würde in etwa so aussehen (vorausgesetzt, Sie durch Komma getrennt 5 Saiten):
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 1), '.', -1)
, SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 2), '.', -1)
, SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 3), '.', -1)
, SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 4), '.', -1)
, SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 5), '.', -1)
FROM (
SELECT GROUP_CONCAT(...) AS SomeColumn
FROM ...
) AS SomeTable
tun, was Sie buchstäblich vorschlagen, Namensgebung eine kommagetrennte Zeichenfolge explodiert, ist ein Haufen Arbeit in MySQL. Was Sie wirklich suchen, ist eine Pivot-Abfrage, bei der Sie Spalten für den CSV-Inhalt erstellen. Können Sie uns einen Mustertisch zeigen, damit wir eine bessere Vorstellung davon haben, was Sie vorhaben? –