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

MySQL sammenkæder værdier fra en tabel til en post i en anden

Du kan bruge 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
 

Se SQL Fiddle with Demo

Resultat:

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

  1. Søgning viser alle produkterne

  2. SQL joins

  3. Lagring af SHA1-hashværdier i MySQL

  4. Gentag en streng flere gange i MySQL – REPEAT()