Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/05/2013, 14:21
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 3 meses
Puntos: 214
Respuesta: Lista ordenada bajo dos criterios, tres tablas involucradas


<saludos>
Uhm, bueno, me parece que pudiste explicar un poco mejor lo que
quisiste decir, pero hasta donde entendí el asunto,
yo usaría este query

Código MySQL:
Ver original
  1. (SELECT sum(intEval) FROM tbleval_trabajos  
  2. WHERE idtrabajo = t.idtrabajo AND idEval IN (SELECT MAX(idEval) FROM tbleval_trabajos
  3. GROUP BY idtrabajo, idUsuario_eval
  4. )
  5. GROUP BY idtrabajo)
  6. AS totalevaluaciones,
  7. (SELECT sum(intVoto) FROM tblvotos_trabajos  
  8. WHERE idtrabajo = t.idtrabajo AND idVoto IN (SELECT MAX(idVoto) FROM tblvotos_trabajos
  9. GROUP BY idtrabajo, idUsuario_voto
  10. )
  11. GROUP BY idtrabajo)
  12. AS totalvotos,
  13. IF (
  14. (SELECT sum(intEval) FROM tbleval_trabajos  
  15. WHERE idtrabajo = t.idtrabajo AND idEval IN (SELECT MAX(idEval) FROM tbleval_trabajos
  16. GROUP BY idtrabajo, idUsuario_eval
  17. )
  18. GROUP BY idtrabajo)=(SELECT sum(intVoto) FROM tblvotos_trabajos  
  19. WHERE idtrabajo = t.idtrabajo AND idVoto IN (SELECT MAX(idVoto) FROM tblvotos_trabajos
  20. GROUP BY idtrabajo, idUsuario_voto
  21. )
  22. GROUP BY idtrabajo),
  23. t.dateFecha_trabajo,
  24. '') as fecha
  25. FROM tbltrabajos t
  26. LEFT JOIN tbleval_trabajos e ON t.idtrabajo = e.idtrabajo
  27. LEFT JOIN tblvotos_trabajos v ON t.idtrabajo = v.idtrabajo
  28. WHERE t.idtrabajador = 1
  29. GROUP BY t.idtrabajo
  30. -- Puede ser también ORDER BY totalevaluaciones DESC, totalvotos DESC

</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com