Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/12/2013, 14:56
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Consultas Seguras

Código SQL:
Ver original
  1. --Caalificar la visita 30
  2.  
  3. --Si hizo pedido + 1
  4. -- Si tomo Imventario (Todos Los itenes) +1
  5. --Si Cobro +1
  6. --Pos <150 + 1
  7. DECLARE @Puntaje AS INT;
  8. SET @Puntaje=0;
  9. SELECT
  10.   CASE  
  11.  WHEN Calificacion.Cobros>0  THEN SUM(1)
  12.  
  13.   WHEN Calificacion.Pedidos>0  THEN SUM(1)
  14.    WHEN Calificacion.Cotizaciones>0  THEN SUM(1)
  15.     WHEN Calificacion.Vdistancia<150  THEN SUM(1)
  16. END AS Puntaje
  17. ,*
  18.   FROM (SELECT V.IdVisita,V.Vdistancia,
  19. COUNT(P.IdPedido) AS Pedidos,
  20. COUNT(C.IdPedido) AS Cotizaciones,
  21. COUNT(CO.IdCobro) AS Cobros
  22.  FROM Visitas_E AS V
  23. LEFT JOIN Pedidos_E AS P ON (P.IdVisita=V.IdVisita AND P.Cotizacion='P')
  24. LEFT JOIN Pedidos_E AS C ON (C.IdVisita=V.IdVisita AND C.Cotizacion='C')
  25. LEFT JOIN Cobros AS CO ON (CO.IdVisita=V.IdVisita)
  26. WHERE V.IdVisita=30
  27.  GROUP BY V.IdVisita,V.Vdistancia) AS Calificacion

prueba con eso a ver que te sale :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me