Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL łączy wartości z jednej tabeli w rekord innej

Możesz użyć 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

Zobacz Skrzypce SQL z wersją demonstracyjną

Wynik:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Drukowanie wyników zapytania w tabeli

  2. Wiele relacji jeden do wielu w GORM

  3. Jak mogę wybrać najnowsze dane wejściowe dla każdego członka?

  4. PHP, pobierz dane z bazy danych

  5. Błąd krytyczny:wywołanie niezdefiniowanej funkcji getsqlvaluestring()