sql >> Databáze >  >> RDS >> Mysql

MySQL zřetězí hodnoty z jedné tabulky do záznamu jiné

Můžete použít 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

Viz SQL Fiddle s ukázkou

Výsledek:

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


  1. Existuje / neexistuje:'vybrat 1' vs 'vybrat pole'

  2. Kód chyby MySQL:1305. FUNCTION JSON_EXTRACT neexistuje ve verzi klienta MySQL:5.5.52

  3. PHP Mysql - Tlačítko Delete stále maže poslední řádek

  4. Spojení polí v rámci skupiny klauzulí