sql >> Base de Datos >  >> RDS >> Mysql

Cuente cuántos existen en una relación de uno a muchos

Use una tabla derivada como esta:

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

Aquí está tu fiddle con toda la consulta

El concepto aquí es hacer su agregación en los muchos mesa, antes de volver a unirse a la una mesa. Esto asegura una unión 1-1 y evita mejor la duplicación no deseada.