sql >> Database >  >> RDS >> Mysql

Veel op veel tafel Join met Pivot

U moet een DISTINCT . opgeven , d.w.z.

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

Bekijk de MySQL-documenten hier .

Probeer uw zoekopdracht te wijzigen in:

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

Dit geeft je een null voor elke gebruiker zonder bijbehorende programma's. Om ze eruit te filteren, voegt u gewoon een WHERE programs.id IS NOT NULL toe .



  1. Sharding en ID-generatie als instagram

  2. Te veel postgresql-versies geïnstalleerd:hoe start u alleen een gekozen postgresql-versie of verwijdert u de onnodige? Benodigde poort is de standaard 5432

  3. Wijziging datumnotatie in zoekopdracht

  4. Een opgeslagen procedure uitvoeren vanuit crontab