Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Discriminar parametros

Estas en el tema de Discriminar parametros en el foro de SQL Server en Foros del Web. bueno para comenzar mi nombre es víctor y estoy comenzando con el tema transact. Lo que pasa es que estoy desarrollando un sistema que trabaja ...
  #1 (permalink)  
Antiguo 27/02/2006, 14:28
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Antigüedad: 19 años
Puntos: 0
Discriminar parametros

bueno para comenzar mi nombre es víctor y estoy comenzando con el tema transact.
Lo que pasa es que estoy desarrollando un sistema que trabaja con crystal report y eh creado una consulta, la cual tiene 6 parámetros, mi duda es la siguiente existe alguna forma de hacer discriminar el resultado del select utilizando los parámetros que yo desee.
Es decir, si mi procedimiento es el siguiente:

CREATE PROCEDURE DeudaPorFuncionario
@DiaPago int, @Empleador int , @ano int, @mes int, @Institucion int, @NomInstitucion as Varchar(50)
AS
SELECT * FROM Deuda LEFT OUTER JOIN
Institucion ON Deuda.CodigoIntitucion = Institucion.CodigoInstitucion LEFT OUTER JOIN
Funcionario ON Deuda.Rut = Funcionario.Rut RIGHT OUTER JOIN
LetraPactada ON Deuda.CodigoDeuda = LetraPactada.CodigoDeuda RIGHT OUTER JOIN
Empleador ON Funcionario.CodigoEmpleador = Empleador.CodigoEmpleador
GROUP BY LetraPactada.EstadoPago, Funcionario.Rut, Funcionario.Nombre, Funcionario.ApellidoPaterno, Funcionario.ApellidoMaterno, Funcionario.DiaDePago,
Deuda.Rut, Empleador.Descripcion, Funcionario.CodigoEmpleador, LetraPactada.FechaDePago, Institucion.CodigoInstitucion
HAVING (LetraPactada.EstadoPago = 'E') AND (Funcionario.DiaDePago = @DiaPago) AND (Funcionario.CodigoEmpleador = @Empleador) AND (MONTH(LetraPactada.FechaDePago)
= @mes) AND (YEAR(LetraPactada.FechaDePago) = @ano) AND (Institucion.CodigoInstitucion = @Institucion)
ORDER BY Nombre

Como puedes ver existen 6 parámetros cual seria la estructura para utilizar algunos de los parámetros, por ejemplo solo @ano, solo @mes o @mes y @ano, o N combinación...
Pero que sean los que necesito...
Estoy trabajando con visual Basic 6 y SQL Server 2000

De antemano muchas gracias por su tiempo….
  #2 (permalink)  
Antiguo 02/03/2006, 21:11
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
en lugar de
AND (Funcionario.DiaDePago = @DiaPago)
podrias probar
AND (Funcionario.DiaDepago=@DiaPago or isnull(@DiaPago,0)=0)
con lo cual no importaria si el parametro esta poblado o no
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 03/03/2006, 07:19
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Antigüedad: 19 años
Puntos: 0
De acuerdo Simplemente Fantastico

Muchas gracias....
Esto es una buena respuesta, extremadamente simple y efectivo..


te pasaste gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:47.