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 originalDECLARE @FechaInicial AS DATE
DECLARE @FechaFinal AS DATE
DECLARE @IdVendedor AS VARCHAR(3)
DECLARE @NombreCLiente AS VARCHAR(20)
SET @FechaInicial=CONVERT(DATE ,GETDATE())
SET @FechaFinal=DATEADD(DAY,1,@FechaInicial)
SELECT
V.IdVisita,V.NombreCliente,(U.Nombres+' '+U.Papellido) AS Nombre ,
I.Nombre AS Incidencia,
CAST (V.FechaVisita AS VARCHAR) AS FechaVisita,
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,
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,
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,
ISNULL(CAST((SELECT top 1 'SI' FROM Inventario_Cliente AS IC WHERE IC.IdVisita =V.IdVisita ) AS VARCHAR),'NO') AS Inventario,
ISNULL((SELECT top 1 ((IC.NumeroDeitenes-IC.NumeroDeItenesEnblanco)*100/IC.NumeroDeitenes) AS Porcentaje
FROM Inventario_Cliente AS IC WHERE NumeroDeitenes<>0 AND IC.IdVisita=V.IdVisita),0) AS Porcentaje,
V.IdUsuario
--ISNULL((),0)
FROM Visitas_e AS V , Users AS U , Incidencias_E AS I
WHERE U.CodigoVendedor=V.IdUsuario AND I.Id=V.Idincidencia
-- Por jemplo si me envia el parametro Vendedor
IF(vendedor!=0)
BEGIN
AND V.Idvendedor=@IdVendedor
END
--SI ME ENVIA LAS FECHAS
IF(@FechaInical<>NULL AND @FEchaFinal<>NULL)BEGIN
AND V.FechaVisita BETWEEN @FechaInicial AND @FechaFinal
END
Gracias De antemanos