Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann ich Felder mit MySQL gruppieren?

Wenn Sie nur Farben und Bildfelder kombinieren möchten:

SELECT v_ebt, CONCAT("color: ", colors, "; image: ", image) AS Data FROM table;

Um alle Daten vertikal in einer Spalte zu erhalten und dennoch eine Sortierung nach gemeinsamen Bezeichnern zu ermöglichen, beachten Sie Folgendes:

SELECT 1 AS Srt, v_ebt AS Grp, v_ebt AS Data FROM docs
UNION SELECT 2, v_ebt, CONCAT("color: ", colors, ", image: ", image) 
     FROM docs
ORDER BY Grp, Srt;

Wenn Sie mehrere Datenzeilen zu einer einzigen Zeichenfolge verketten möchten, erkunden Sie die GROUP_CONCAT-Funktion.

SELECT v_ebt, GROUP_CONCAT(CONCAT("color: ", colors, ", image: ", image, Char(10)+Char(13))
                           ORDER BY CONCAT("color: ", colors, ", image: ", image, Char(10)+Char(13))) AS list
FROM table
GROUP BY v_ebt;

Kann weder mit Char(10) + Char(13) noch mit + verketten und ich habe kein MySQL zum Testen, aber hoffentlich hilft Ihnen das beim Einstieg.

Anstatt dies innerhalb der Abfrage zu versuchen, besteht die Möglichkeit, einen Bericht zu erstellen, der nach v_ebt-Daten sortiert und gruppiert. Dies wäre in Access einfach und ich gehe davon aus, dass MySQL-Berichtstools und Crystal Reports dies tun könnten.