Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso raggruppare i campi usando mysql?

Se vuoi semplicemente combinare colori e campi immagine:

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

Per ottenere tutti i dati verticalmente in una colonna e continuare a consentire l'ordinamento in base all'identificatore comune, considera:

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;

Se vuoi concatenare più righe di dati in un'unica stringa, esplora la funzione GROUP_CONCAT.

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;

Non riesco a far funzionare il violino con Char(10) + Char(13) né la concatenazione con + e non ho MySQL da testare, ma spero che questo ti permetta di iniziare.

Quindi, invece di provare a farlo all'interno della query, c'è la possibilità di creare un report che ordinerà e raggrupperà i dati v_ebt. Questo sarebbe semplice in Access e mi aspetto che gli strumenti di reporting MySQL e Crystal Reports possano farlo.