Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/12/2013, 14:48
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, 5 meses
Puntos: 774
Respuesta: Consultas Seguras

a lo que entiendo quieres el valor de 1 cuando se cumpla la condicion en la variable o quieres que se sumen dependiendo las condiciones?

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 @puntaje=puntaje,* FROM
  10. (
  11. SELECT
  12.   CASE  
  13.  WHEN Calificacion.Cobros>0  THEN 1
  14.  
  15.   WHEN Calificacion.Pedidos>0  THEN 1
  16.    WHEN Calificacion.Cotizaciones>0  THEN 1
  17.     WHEN Calificacion.Vdistancia<150  THEN 1
  18. END AS puntaje
  19. ,*
  20.   FROM (SELECT V.IdVisita,V.Vdistancia,
  21. COUNT(P.IdPedido) AS Pedidos,
  22. COUNT(C.IdPedido) AS Cotizaciones,
  23. COUNT(CO.IdCobro) AS Cobros
  24.  FROM Visitas_E AS V
  25. LEFT JOIN Pedidos_E AS P ON (P.IdVisita=V.IdVisita AND P.Cotizacion='P')
  26. LEFT JOIN Pedidos_E AS C ON (C.IdVisita=V.IdVisita AND C.Cotizacion='C')
  27. LEFT JOIN Cobros AS CO ON (CO.IdVisita=V.IdVisita)
  28. WHERE V.IdVisita=30
  29.  GROUP BY V.IdVisita,V.Vdistancia) AS Calificacion
  30. ) AS total

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me