Me parece que deberías GROUP BY a.id, c.id
-- agrupar por a.id
solo significa que normalmente tendrá varios c.id
s por a.id
, y solo obtienes uno "al azar". Esto parece una cuestión de corrección básica. Una vez que haya arreglado eso, un SELECT COUNT(*) FROM
inicial etc etc definitivamente debería darle el número de filas que devolverá la siguiente consulta, para que pueda preparar su buscapersonas en consecuencia.