ALTER PROCEDURE [dbo].[P_ANALISIS]@fecha1 varchar(10),@fecha2 varchar(10),@escolar int,@tipmov varchar(2),@nivel int,@dias int,@cuota int AS BEGIN DECLARE @ParmDefinition NVARCHAR(2000),@condi varchar(2000),@sql nvarchar(4000) SET @ParmDefinition = N'@fecha1 varchar(10),@fecha2 varchar(10),@escolar int,@tipmov char(2),@nivel int,@dias int,@cuota int' set @sql='select rtrim(F.apellidos) as apellidos, SUM(M.balance) as balance,SUM(M.cuota) as monto,SUM(m.recargo) as recargo,0 as anticipo, descuentos=sum(CASE WHEN (@fecha1>m.fechadescuento) THEN 0 else (M.descuento+M.descuento2) END), dias30=sum(CASE WHEN (datediff(dd,m.fechacuota,@fecha1)<=30 and @fecha1>=m.fechacuota) THEN m.balance else 0 END), dias45=sum(CASE WHEN (datediff(dd,m.fechacuota,@fecha1)> 30 and datediff(dd,m.fechacuota,@fecha1)<= 45) THEN m.balance else 0 END), dias60=sum(CASE WHEN (datediff(dd,m.fechacuota,@fecha1)> 45 and datediff(dd,m.fechacuota,@fecha1)<= 60) THEN m.balance else 0 END), dias75=sum(CASE WHEN (datediff(dd,m.fechacuota,@fecha1)> 60 and datediff(dd,m.fechacuota,@fecha1)<= 75) THEN m.balance else 0 END), dias90=sum(CASE WHEN (datediff(dd,m.fechacuota,@fecha1)> 75 and datediff(dd,m.fechacuota,@fecha1)<= 90) THEN m.balance else 0 END), dias91=sum(CASE WHEN (datediff(dd,m.fechacuota,@fecha1)>=91) THEN m.balance else 0 END) from cuotas m,familias f where M.idfamilia=f.idfamilia and M.balance>0 ' IF @fecha1 IS NOT NULL and LEN(@Fecha1) > 0 SET @condi = @condi +' AND m.fechacuota>= @fecha1' IF @fecha2 IS NOT NULL and len(@Fecha2) > 0 SET @condi = @condi +' AND m.fechacuota<= @fecha2' IF @escolar <> 0 and @escolar IS NOT NULL SET @condi = @condi +' AND m.escolar= @escolar' IF @tipmov != '' SET @condi = @condi +' AND m.tiptra= @tipmov' IF @nivel <>0 and @Nivel IS NOT NULL SET @condi = @condi +' AND m.nivel= @nivel' IF @dias <>0 and @dias IS NOT NULL SET @condi = @condi +' AND m.dias= @dias' IF @cuota <>0 and @cuota IS NOT NULL SET @cuota = @condi +' AND m.cuota= @cuota' set @sql=@sql+ @condi + 'group by M.idfamilia,F.apellidos' EXECUTE sp_executesql @sql,@ParmDefinition,@fecha1,@fecha2,@escolar,@tipmov,@nivel,@dias,@cuota