Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/08/2009, 04:36
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta imposible

EDITO:
No sé si será la más eficiente:
Código sql:
Ver original
  1. SELECT pasos.ID, IFNULL(t2.NUMERO,0) NUMERO_CONTACTOS FROM pasos
  2.  LEFT JOIN (SELECT COUNT(*) NUMERO, T1.ultpaso PASO
  3.  FROM (SELECT cp.id_contacto, MAX(cp.id_paso) ultpaso
  4.  FROM contactos c INNER JOIN contactos2pasos cp ON c.ID = cp.id_contacto GROUP BY c.ID)t1
  5.  GROUP BY T1.ultpaso)t2 ON pasos.id = t2.PASO
  6.  ORDER BY pasos.ID

Buscando un rango de fechas (esto no lo he probado):
Código sql:
Ver original
  1. SELECT pasos.ID, IFNULL(t2.NUMERO,0) NUMERO_CONTACTOS FROM pasos
  2.  LEFT JOIN (SELECT COUNT(*) NUMERO, T1.ultpaso PASO
  3.  FROM (SELECT cp.id_contacto, MAX(cp.id_paso) ultpaso
  4.  FROM contactos c INNER JOIN contactos2pasos cp ON c.ID = cp.id_contacto WHERE c.fecha BETWEEN '2009-02-01' AND '2009-02-15' GROUP BY c.ID)t1
  5.  GROUP BY T1.ultpaso)t2 ON pasos.id = t2.PASO
  6.  ORDER BY pasos.ID

Última edición por jurena; 25/08/2009 a las 05:13