sql >> Databasteknik >  >> RDS >> Mysql

Räkna värden över m/n anslutna tabeller i SQL

Jag tror att det här skulle fungera.

SELECT n.id,
       n.name,
       COUNT(DISTINCT l.id) AS locations,
       COUNT(DISTINCT d.id) AS downloads
FROM names n LEFT JOIN names_location nl
  ON n.id = nl.name_id
LEFT JOIN downloads dl
  ON n.id = dl.name_id
LEFT JOIN locations l
  ON l.id = nl.location_id
GROUP BY n.id, n.name


  1. Vänsterkoppling med dynamiskt tabellnamn härlett från kolumn

  2. PHP mysql automatisk infoga tidsstämpel

  3. Enkelt sätt att välja höger kolumn som primärnyckel för en given tabell

  4. Byt namn på Oracle 11g. Garanterat atomär?