Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/05/2010, 18:10
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: consulta con join en tres tablas

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 original
  1. t_ag_educativos.noIdentidad,
  2. t_ag_educativos.primerNombre, t_ag_educativos.segundoNombre,  t_ag_educativos.primerApellido, t_ag_educativos.segundoApellido,
  3. t_ag_educativos.departamento, t_ag_educativos.municipio,
  4. t_foro_respuestas.titulo,t_foro_respuestas.fechaRecibo, count(*)
  5. FROM t_foro_respuestas
  6. INNER JOIN t_ag_educativos ON t_ag_educativos.noIdentidad =  t_foro_respuestas.noIdentidad
  7. WHERE t_ag_educativos.departamento = '$departamento'
  8. t_ag_orientadores.noIdentidad,
  9. t_ag_orientadores.primerNombre, t_ag_orientadores.segundoNombre,  t_ag_orientadores.primerApellido, t_ag_orientadores.segundoApellido,
  10. t_ag_orientadores.departamento, t_ag_orientadores.municipio,
  11. t_foro_respuestas.titulo,t_foro_respuestas.fechaRecibo, count(*)
  12. FROM t_foro_respuestas
  13. JOIN t_ag_orientadores ON t_ag_orientadores.noIdentidad =  t_foro_respuestas.noIdentidad
  14. WHERE t_ag_orientadores.departamento = '$departamento'
  15. t_ag_invitados.noIdentidad,
  16. t_ag_invitados.primerNombre, t_ag_invitados.segundoNombre,  t_ag_invitados.primerApellido, t_ag_invitados.segundoApellido,
  17. t_ag_invitados.departamento, t_ag_invitados.municipio,
  18. t_foro_respuestas.titulo,t_foro_respuestas.fechaRecibo, count(*)
  19. FROM t_foro_respuestas
  20. JOIN t_ag_invitados ON t_ag_invitados.noIdentidad =  t_foro_respuestas.noIdentidad
  21. WHERE t_ag_invitados.departamento = '$departamento'
  22. order by noIdentidad

Bueno, espero te sirva
saludos