Mysql
 sql >> Base de données >  >> RDS >> Mysql

champ db (GROUP_CONCAT) en tant que tableau

Dans la base de données, un tableau signifie des tables. Si vous voulez des données au format tableau, la meilleure façon de stocker les valeurs dans une table temporaire séparée.

J'aime

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

Ou vous devez utiliser une concaténation à l'intérieur du group_concat

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

Ainsi, le résultat sera comme 2:Cat2,1:Cat2. Vous pouvez diviser (d'abord avec ',' puis ':') cette valeur et récupérer l'ID et le nom.