sql >> Database teknologi >  >> RDS >> Mysql

SQL-tal fra sammenføjet tabel

Din left join s bringer tabeller ind, der har flere matcher for et givet id. Den hurtige og nemme måde at rette tællinger på er at bruge count(distinct) i stedet for count() :

SELECT l.id, l.naam, beschrijving, count(distinct c.lijst_id) as aantal_cat, count(distinct wl.lijst_id) as aantal_lijst FROM lijsten l LEFT JOIN werknemerlijsten wl ON l.id = wl.lijst_id LEFT JOIN categorieen c ON l.id = c.lijst_id GROUP BY l.naam ORDER BY naam;

En alternativ fremgangsmåde er at aggregere tabellerne før sammenføjningen ved at foretage optællingerne i underforespørgslen.



  1. Tilslutning af ODBC-applikationer til MySQL

  2. hvad er problemet med AttachDbFilename

  3. Hentning af datoer mellem en række datoer

  4. Få resultatet af den lagrede procedure Laravel