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

pole db (GROUP_CONCAT) jako tablica

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ę.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo

  2. zapytanie aktualizujące mysql z zapytaniem podrzędnym

  3. Odmowa dostępu do bazy danych Java do bazy danych MySQL

  4. Pobieranie losowych danych z bazy danych MySQL, ale nie powtarzanie danych

  5. Nie można zainstalować pakietu libmysqlclient-dev podczas budowania pliku docker z ubuntu