W bazie danych tablica oznacza tabele. Jeśli chcesz, aby dane były w formacie tablicy, najlepszym sposobem przechowywania wartości jest osobna tabela tymczasowa.
Lubię
article_id, category_id, category_name
1 1 Cat1
2 1 Cat1
3 2 Cat2
3 1 Cat1
Lub musisz użyć konkatenacji wewnątrz group_concat
GROUP_CONCAT(cast(concat(c.id,\': \',c.name) AS char)SEPARATOR \', \') AS categorie_names
Wynik będzie więc wyglądał jak 2:Cat2,1:Cat2. Możesz podzielić (najpierw za pomocą ',', a następnie ':') tę wartość i pobrać identyfikator i nazwę.