Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2014, 07:35
Avatar de EderBarriosCamargo
EderBarriosCamargo
 
Fecha de Ingreso: marzo-2013
Mensajes: 55
Antigüedad: 11 años, 1 mes
Puntos: 0
Agregar AND´S Dinamicamente a una consulta

Buenas a todo@s tengo una pequeña duda, estoy haciendo un reporte en un procedimiento almacenado, el cual desde la pagina lleva unos filtrol, tales como FechaVisita , Vendedor, Nombre del Cliente ETC..
Este es el SP...
Código SQL:
Ver original
  1. DECLARE @FechaInicial AS DATE
  2. DECLARE @FechaFinal AS DATE
  3. DECLARE @IdVendedor AS VARCHAR(3)
  4. DECLARE @NombreCLiente AS VARCHAR(20)
  5.  
  6. SET @FechaInicial=CONVERT(DATE ,GETDATE())
  7. SET  @FechaFinal=DATEADD(DAY,1,@FechaInicial)
  8. SELECT
  9.      V.IdVisita,V.NombreCliente,(U.Nombres+' '+U.Papellido) AS Nombre ,
  10.      I.Nombre AS Incidencia,
  11.      CAST (V.FechaVisita AS VARCHAR) AS FechaVisita,
  12.      ISNULL(CAST((SELECT 'SI' FROM Cobros AS CO WHERE CO.IdVisita=V.IdVisita AND (SELECT COUNT(*) FROM DetallesCobros WHERE IdCobro=CO.IdCobro)>0) AS VARCHAR),'NO') AS Cobro,
  13.      ISNULL(CAST((SELECT top 1 'SI' FROM Pedidos AS P WHERE P.IdVisita=V.IdVisita AND Cotizacion='C' AND V.IdUsuario=P.Idvendedor) AS VARCHAR),'NO') AS Cotizo,
  14.      ISNULL(CAST((SELECT top 1 'SI' FROM Pedidos AS P WHERE P.IdVisita=V.IdVisita AND Cotizacion='P' AND V.IdUsuario=P.Idvendedor) AS VARCHAR),'NO') AS Pidio,
  15.      ISNULL(CAST((SELECT top 1 'SI' FROM Inventario_Cliente AS IC  WHERE IC.IdVisita =V.IdVisita ) AS VARCHAR),'NO') AS Inventario,
  16.      ISNULL((SELECT top 1 ((IC.NumeroDeitenes-IC.NumeroDeItenesEnblanco)*100/IC.NumeroDeitenes) AS Porcentaje
  17.        FROM Inventario_Cliente AS IC WHERE NumeroDeitenes<>0 AND IC.IdVisita=V.IdVisita),0) AS Porcentaje,
  18.        
  19.        V.IdUsuario
  20.          --ISNULL((),0)
  21. FROM Visitas_e AS V , Users AS U , Incidencias_E AS I
  22. WHERE U.CodigoVendedor=V.IdUsuario AND I.Id=V.Idincidencia
  23. -- Por jemplo si me envia el parametro Vendedor
  24.    IF(vendedor!=0)
  25.     BEGIN
  26.        AND V.Idvendedor=@IdVendedor
  27.     END
  28. --SI ME ENVIA LAS FECHAS
  29.        
  30.     IF(@FechaInical<>NULL AND @FEchaFinal<>NULL)BEGIN
  31.       AND V.FechaVisita BETWEEN @FechaInicial AND @FechaFinal
  32.     END

Gracias De antemanos

Última edición por EderBarriosCamargo; 13/01/2014 a las 07:36 Razón: Dar Gracias