Mysql
 sql >> база данни >  >> RDS >> Mysql

Обединяване на много към много таблици с Pivot

Трябва да посочите DISTINCT , т.е.

select users.name, group_concat( DISTINCT programs.name)

Вижте MySQL документите тук .

Опитайте да промените заявката си на:

SELECT users.name, group_concat(programs.name) 
from users
LEFT JOIN linker on linker.user_id = users.id
LEFT JOIN programs on linker.program_id = programs.id
GROUP BY users.id

Това ще ви даде null за всеки потребител без програми, свързани с тях. За да ги филтрирате, просто добавете WHERE programs.id IS NOT NULL .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL вмъкване при дублирана актуализация за не-PRIMARY ключ

  2. Попълване на HTML/PHP падащо меню въз основа на първата селекция от падащо меню

  3. Запазване на данни от таблицата, получени при изстъргване на уеб страница с помощта на casperjs

  4. 1052:Колона „id“ в списъка с полета е двусмислена

  5. Създаване на защитен скрипт за влизане в PHP и MySQL без HTTPS