Ver Mensaje Individual
  #20 (permalink)  
Antiguo 29/10/2008, 11:33
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 2 meses
Puntos: 300
Respuesta: Se puede simplificar esta sentencia?...

No se trata de poner o quitar, sino de probar y solucionar.
Prueba esta consulta, que, creo te mostrará los comentarios y los clicks. Selecciona por clicks. Si es más rápida (creo que lo será), habremos resuelto el problema, al menos para esta consulta:
Código sql:
Ver original
  1. SELECT dl.title, dl.location, dl.url, dl.rank, dl.fecha_de_alta, dl.description, dc.path, dl.STATUS, t1.tot AS totallinks, COUNT( dlco.id_link ) AS totalcom
  2. FROM dir_links dl
  3. INNER JOIN dir_categories dc ON dl.id_category = dc.id
  4. LEFT JOIN dir_link_comments dlco ON dl.id = dlco.id_link
  5. INNER JOIN (
  6.  
  7. SELECT dl2.id, COUNT( dlc.id_link ) AS tot
  8. FROM `dir_links` dl2
  9. INNER JOIN dir_link_clicks dlc ON dl2.id = dlc.id_link
  10. WHERE dl2.id_category !=333
  11. AND dl2.STATUS = 'active'
  12. GROUP BY dlc.id_link
  13. ORDER BY tot DESC
  14. )t1 ON dl.id = t1.id
  15. GROUP BY dlco.id_link
  16. ORDER BY totallinks DESC , dl.rank DESC
Dinos qué tal...

He editado para añadir un LEFT JOIN que permita mostrar los seleccionados aunque no tengan comentarios.

Última edición por jurena; 29/10/2008 a las 13:38