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

venstre join multiplicerende værdier

Mit knæfald er en underforespørgsel:

select count(capture_id) as count_captures, 
    (select count(id) as count_items
         from items i where i.creator_user_id = captures.user_id) as count_items 
from captures 
where user_id = 9

Jeg er ikke helt sikker på, hvad du kan gøre for at undgå dette. Du ser forventet (og generelt ønsket adfærd).

Selvfølgelig, hvis du ved, at ID'erne i begge ikke gentager sig selv, kan du bruge forskellige:

SELECT COUNT( DISTINCT capture_id) as count_captures, 
      COUNT( DISTINCT items.id) as count_items 
FROM captures 
LEFT JOIN items ON captures.user_id = items.creator_user_id 
    WHERE user_id = 9


  1. Django AWS RDS MySQL-fejl:(2026, 'SSL-forbindelsesfejl:fejl:00000001:lib(0):func(0):reason(1)')

  2. Denormalisering:Hvornår, hvorfor og hvordan

  3. Fjern dubletter på listen over objekter med Python

  4. Docker-compose tjek om mysql-forbindelsen er klar