Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida com Resultado de Uma Coluna


MicheL Vilela

Pergunta

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

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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:

PROVISAO

415,8

402,6

405,9

409,2

409,2

402,6

0

Já minha coluna PAGAMENTO só pode trazer valor se as condições forem seguidas:

1) campo F.IDFAT >0;

2) campo F.IDMOV IS NULL

3) campo F.DATABAIXA <= 31/12/2007

3) 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 45

Invalid 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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...