sql >> Base de Datos >  >> RDS >> Mysql

campo db (GROUP_CONCAT) como matriz

En matriz de base de datos significa tablas. Si desea datos en formato de matriz, la mejor manera de almacenar los valores en una tabla temporal separada.

Me gusta

article_id, category_id, category_name
1           1            Cat1
2           1            Cat1
3           2            Cat2
3           1            Cat1

O tienes que usar una concatenación dentro de group_concat

GROUP_CONCAT(cast(concat(c.id,\': \',c.name) AS char)SEPARATOR \', \') AS categorie_names

Entonces el resultado será como 2:Cat2,1:Cat2. Puede dividir (primero con ',' luego ':') este valor y recuperar ID y Nombre.