Estimados
creo un procedimiento con criterios que el usuario desde un form ingresa/
hasta ahi todo bien el problema es que me muestra los registros cuando en
cualquiera de los criterios hay valores nulos?
Agradeceria cualquier ayuda!
CREATE PROCEDURE dbo.PCA_CSI_Consulta_Visitantes
@FechaInicio Datetime, @FechaFin Datetime,
@tvt1 Numeric(10), @tvt2 Numeric(10),
@vst1 Numeric(10), @vst2 Numeric(10),
@vgt1 Numeric(10),@vgt2 Numeric(10),
@pqo1 Numeric(10), @pqo2 Numeric(10),
@Dirc1 Numeric(10),@Dirc2 Numeric(10),
@tmt1 Numeric(10),@tmt2 Numeric(10),
@pc1 Numeric(10),@pc2 Numeric(10)
AS
SELECT DISTINCT
dbo.CSI_Visitantes.VST_ID,
dbo.CSI_Visitantes.VST_Consecutivo, dbo.CSI_Visitantes.VST_Fecha,
dbo.CSI_Visitantes.VST_HEntrada,
dbo.CSI_Visitantes.VST_HSalida,
dbo.CSI_Visitantes.VST_Funcionario
FROM dbo.CSI_Visitantes INNER JOIN
dbo.CSI_Tipo_Visita ON dbo.CSI_Visitantes.TVT_ID =
dbo.CSI_Tipo_Visita.TVT_ID INNER JOIN
dbo.Funcionarios ON dbo.CSI_Visitantes.VST_Vigilante =
dbo.Funcionarios.FUN_ID INNER JOIN
dbo.CSI_Tipo_Medio_Transporte ON
dbo.CSI_Visitantes.TMT_ID = dbo.CSI_Tipo_Medio_Transporte.TMT_ID LEFT OUTER
JOIN
dbo.Direcciones ON dbo.CSI_Visitantes.DIR_ID =
dbo.Direcciones.DIR_ID LEFT OUTER JOIN
dbo.CSI_Tipo_Parqueo ON dbo.CSI_Visitantes.TPQ_ID =
dbo.CSI_Tipo_Parqueo.TPQ_ID LEFT OUTER JOIN
dbo.Usuarios ON dbo.CSI_Visitantes.VST_Visitante =
dbo.Usuarios.USR_ID
WHERE ((dbo.CSI_Visitantes.VST_Fecha>= COALESCE (@FechaInicio, 0)) AND
(dbo.CSI_Visitantes.VST_Fecha <= COALESCE (@FechaFin,GETDATE())) )
AND ((dbo.CSI_Tipo_Visita.TVT_ID>= COALESCE (@tvt1, 0)) AND
(dbo.CSI_Tipo_Visita.TVT_ID <= COALESCE (@tvt2, 2147483647)) )
and ((dbo.Usuarios.USR_ID>= COALESCE (@vst1, 0)) AND (dbo.Usuarios.USR_ID
<= COALESCE (@vst2, 2147483647)) )
and ((dbo.Funcionarios.FUN_ID>= COALESCE (@vgt1, 0)) AND
(dbo.Funcionarios.FUN_ID <= COALESCE (@vgt2, 2147483647)))
and ((dbo.CSI_Tipo_Parqueo.TPQ_ID>= COALESCE (@pqo1, 0)) AND
(dbo.CSI_Tipo_Parqueo.TPQ_ID <= COALESCE (@pqo2, 2147483647)) )
and (( dbo.Direcciones.DIR_ID>= COALESCE (@Dirc1, 0)) AND
(dbo.Direcciones.DIR_ID <= COALESCE (@Dirc2, 2147483647)) )
and (( dbo.CSI_Tipo_Medio_Transporte.TMT_ID>= COALESCE (@tmt1, 0)) AND
(dbo.CSI_Tipo_Medio_Transporte.TMT_ID <= COALESCE (@tmt2, 2147483647)) )
and (( dbo.CSI_Visitantes.VST_Transporte >= COALESCE (@pc1, 0)) AND
(dbo.CSI_Visitantes.VST_Transporte <= COALESCE (@pc2, 2147483647)) )
Leer las respuestas