Compara resultado de um campo dinâmico

SQL Server

25/06/2014

Bom dia a todos
Tenho uma consulta sql que faz um cálculo de entre datas é me retorna uma diferença, gostaria de compara este campo com um outro campo que me mostra a quantidade de dias definido, alguém sabe se isso é possível e como fazer?
Agradeço
Consulta:
  select a.nome,                                                                  
                     b.nome as NomeEmpresa,                                                   
                     a.dataatestado,                                                          
                     a.email,                                                                 
                     a.datavalidadeatestado,                                            
                     b.qtddiasatestado,                                                       
                     DATEDIFF (DAY, a.datavalidadeatestado, GETDATE() ) AS DIFERENCADIA 
               from TB_USUARIO a                                                              
                inner join  TB_EMPRESA b on a.controleempresa = b.controleempresa             
                where b.controleempresa =  6                     
                and a.status = 'N'   



Gostaria de compara este campo:
and DIFERENCADIA = b.qtddiasatestado
Itamar Souza

Itamar Souza

Curtidas 0

Respostas

Fabiano Carvalho

Fabiano Carvalho

25/06/2014

select a.nome,                                                                  
                   b.nome as NomeEmpresa,                                                   
                   a.dataatestado,                                                          
                   a.email,                                                                 
                   a.datavalidadeatestado,                                            
                   b.qtddiasatestado,                                                       
                   DATEDIFF (DAY, a.datavalidadeatestado, GETDATE() ) AS DIFERENCADIA 
             from TB_USUARIO a                                                              
              inner join  TB_EMPRESA b on a.controleempresa = b.controleempresa             
              where b.controleempresa =  6                     
              and a.status = 'N' and DATEDIFF (DAY, a.datavalidadeatestado, GETDATE() ) = b.qtddiasatestado



OU
with cte as (
select a.nome,                                                                  
                   b.nome as NomeEmpresa,                                                   
                   a.dataatestado,                                                          
                   a.email,                                                                 
                   a.datavalidadeatestado,                                            
                   b.qtddiasatestado,                                                       
                   DATEDIFF (DAY, a.datavalidadeatestado, GETDATE() ) AS DIFERENCADIA 
             from TB_USUARIO a                                                              
              inner join  TB_EMPRESA b on a.controleempresa = b.controleempresa             
              where b.controleempresa =  6                     
              and a.status = 'N'  
)
select * from cte
where DIFERENCADIA = qtddiasatestado
GOSTEI 0
POSTAR