Hola
Bueno, pues observe varias cosas
1. Con el group by tiene inconvenientes de hacer el conteo
2. Tienes para las fechas AND y HAVING por aparte, pero pues
hice pruebas y cualquiera de los dos hacen correctamente el filtro,
así que te recomiendo que solo uses uno de los dos
3. Cuando se hacen consultas UNION el ORDER BY debe ir solo al final
de toda la consulta como podrás notar en el que te voy a postear
4. Lo que yo hice fue agregar el count(*) en la consulta del UNION que
te habia posteado anteriormente en cada uno de los selects, y omitir
el group by pues aquí ya vienen agrupados gracias al inner join respectivo
Código MySQL:
Ver originalt_ag_educativos.noIdentidad,
t_ag_educativos.primerNombre, t_ag_educativos.segundoNombre, t_ag_educativos.primerApellido, t_ag_educativos.segundoApellido,
t_ag_educativos.departamento, t_ag_educativos.municipio,
t_foro_respuestas.titulo
,t_foro_respuestas.fechaRecibo
, count(*)INNER JOIN t_ag_educativos
ON t_ag_educativos.noIdentidad
= t_foro_respuestas.noIdentidad
WHERE t_ag_educativos.departamento
= '$departamento' t_ag_orientadores.noIdentidad,
t_ag_orientadores.primerNombre, t_ag_orientadores.segundoNombre, t_ag_orientadores.primerApellido, t_ag_orientadores.segundoApellido,
t_ag_orientadores.departamento, t_ag_orientadores.municipio,
t_foro_respuestas.titulo
,t_foro_respuestas.fechaRecibo
, count(*)JOIN t_ag_orientadores
ON t_ag_orientadores.noIdentidad
= t_foro_respuestas.noIdentidad
WHERE t_ag_orientadores.departamento
= '$departamento' t_ag_invitados.noIdentidad,
t_ag_invitados.primerNombre, t_ag_invitados.segundoNombre, t_ag_invitados.primerApellido, t_ag_invitados.segundoApellido,
t_ag_invitados.departamento, t_ag_invitados.municipio,
t_foro_respuestas.titulo
,t_foro_respuestas.fechaRecibo
, count(*)JOIN t_ag_invitados
ON t_ag_invitados.noIdentidad
= t_foro_respuestas.noIdentidad
WHERE t_ag_invitados.departamento
= '$departamento'
Bueno, espero te sirva
saludos