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

MySQL concatène les valeurs d'une table dans un enregistrement d'une autre

Vous pouvez utiliser MySQL GROUP_CONCAT() :

select i.id,
  i.name,
  group_concat(t.name SEPARATOR ', ') tags
from items i
left join items_to_tags it
  on i.id = it.item_id
left join tags t
  on it.tag_id = t.id
group by i.id, i.name

Voir SQL Fiddle avec démo

Résultat :

| ID |  NAME |             TAGS |
---------------------------------
|  1 | item1 | tag1, tag2, tag3 |
|  2 | item2 |             tag3 |