Du skal angive en DISTINCT
, dvs.
select users.name, group_concat( DISTINCT programs.name)
Se MySQL-dokumenterne her .
Prøv at ændre din forespørgsel til:
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
Dette vil give dig en null
for enhver bruger uden programmer tilknyttet dem. For at filtrere dem fra, skal du blot tilføje en WHERE programs.id IS NOT NULL
.