sql >> Databáze >  >> RDS >> Mysql

Počet SQL ze spojené tabulky

Vaše left join s přinášejí tabulky, které mají více shod pro dané ID. Rychlý a snadný způsob, jak opravit počty, je použít count(distinct) místo 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;

Alternativním přístupem je agregovat tabulky před spojením a provádět počty v poddotazu.



  1. Ukládání HABTM pomocí dalších polí?

  2. Jak zjistíte velikost disku tabulky Postgres / PostgreSQL a její indexy

  3. mysql kombinované jedinečné klíče

  4. K získání informací o serveru v SQL Server použijte SERVERPROPERTY().