MicheL Vilela Postado Fevereiro 3, 2008 Denunciar Share Postado Fevereiro 3, 2008 Olá pessoal, tenho uma consulta com o pedaço abaixo:SELECT DISTINCT F.IDLAN, F.IDFAT,VALIDA = CASE WHEN F.IDFAT IS NULL AND F.IDMOV IS NULL THEN 0 ELSE 1 END,Tenho uma coluna que chama "PROVISAO", e preciso acrescentar o resultado dela como sendo mais um validador acima.Minha coluna "VALIDA" ficaria assim: VALIDA = CASE WHEN F.IDFAT IS NULL AND F.IDMOV IS NULL AND "RESULTADO COLUNA PROVISAO"= 0 THEN 0 ELSE 1 END,Alguém tem idéia como faço isso?Abraço a todos! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 4, 2008 Denunciar Share Postado Fevereiro 4, 2008 não funciona simplesmente escrevendo o nome da coluna no lugar de "RESULTADO COLUNA PROVISAO"??essa coluna existe no banco ou é uma coluna calculada?? se for calculada e ela não aparecer no select, então no lugar de "RESULTADO COLUNA PROVISAO" digite a propria formula da coluna. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MicheL Vilela Postado Fevereiro 4, 2008 Autor Denunciar Share Postado Fevereiro 4, 2008 Amigo, primeiramente obrigado pela ajuda.Tentei resumir o meu problema mas vou tentar te explicar o que preciso da forma real.Imagine a seguinte situação...A coluna PROVISAO foi criada por mim e ela retorna valores maiores que zero ou zero conforme resultado abaixo:Ela foi criada da seguinte forma:PROVISÃO = CASE WHEN F.IDLAN =(SELECT TOP 1 FLAN.IDLAN FROM FLAN (NOLOCK) WHERE FLAN.IDMOV = F.IDMOV AND FLAN.CODCOLIGADA=@CODCOLIGADA ORDER BY 1 )THEN (SELECT TOP 1 CAST(TMOV.VALORLIQUIDO AS FLOAT) FROM TMOV (NOLOCK) WHERE TMOV.IDMOV = T.IDMOV AND TMOV.CODCOLIGADA=@CODCOLIGADA ORDER BY 1 DESC )ELSE '' END, RESULTADO:PROVISAO415,8402,6405,9409,2409,2402,60 Já minha coluna PAGAMENTO só pode trazer valor se as condições forem seguidas:1) campo F.IDFAT >0;2) campo F.IDMOV IS NULL3) campo F.DATABAIXA <= 31/12/20073) o RESULTADO da minha coluna PROVISAO for igual a ZERO. Atualmente minha coluna PAGAMENTO está assim: PAGAMENTO = CASE WHEN F.DATABAIXA >= @DATAFINAL THEN 0 ELSE F.VALORBAIXADO - F.VALORJUROS END, O que pensei em fazer foi alterar minha coluna PAGAMENTO conforme abaixo: PAGAMENTO =CASE WHEN F.IDFAT> 0 AND F.IDMOV IS NULL AND F.DATABAIXA>=@DATAFINAL AND PROVISAO = 0 THEN F.VALORBAIXADO-F.VALORJUROS ELSE 0 END, Só que ao fazer isso ocorre o seguinte erro:Msg 207, Level 16, State 1, Line 45Invalid column name 'PROVISAO'. O que preciso fazer é isso, ao invés de ter o resultado de um campo como validador preciso ter o resultado de uma coluna.Abraço.MicheL Vilela Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
MicheL Vilela
Olá pessoal, tenho uma consulta com o pedaço abaixo:
SELECT DISTINCT
F.IDLAN,
F.IDFAT,
VALIDA = CASE WHEN F.IDFAT IS NULL AND F.IDMOV IS NULL THEN 0 ELSE 1 END,
Tenho uma coluna que chama "PROVISAO", e preciso acrescentar o resultado dela como sendo mais um validador acima.
Minha coluna "VALIDA" ficaria assim:
VALIDA = CASE WHEN F.IDFAT IS NULL AND F.IDMOV IS NULL AND "RESULTADO COLUNA PROVISAO"= 0 THEN 0 ELSE 1 END,
Alguém tem idéia como faço isso?
Abraço a todos!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.