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

Conta quanti ne esistono in una relazione uno-a-molti

Usa una tabella derivata in questo modo:

SELECT ...
       TotalTasks --Add the count column to your select
FROM ticket t
JOIN (SELECT ticked_id, COUNT(1) as TotalTasks
      FROM tasks
      GROUP BY ticked_id) ta ON t.id = ta.ticked_id
...rest of query

Ecco il tuo violino con l'intera query

Il concetto qui è di fare la tua aggregazione su molti tabella, prima di ricongiungersi a uno tavolo. Ciò garantisce un join 1-1 e previene al meglio duplicazioni indesiderate.