Tenho desenvolvido uma query de consulta que trabalha com algumas colunas criadas por alias. Segue exemplo abaixo:
CASE
WHEN E1_SALDO = 0 THEN 'PAGO'
WHEN E1_VENCREA < 'HOJE' THEN 'A VENCER'
ELSE 'VENCIDO'
END 'STATUS',
CASE
WHEN 'DIAS ATRASO/A RECEBER' = '0' THEN '0'
WHEN 'DIAS ATRASO/A RECEBER' <= '30' THEN '1'
WHEN 'DIAS ATRASO/A RECEBER' <= '60' THEN '2'
WHEN 'DIAS ATRASO/A RECEBER' <= '90' THEN '3'
END 'FAIXA ATRASO/A RECEBER'
No primeiro CASE a coluna criada como 'STATUS' estou desenvolvendo a lógica de criar uma coluna que me gere o STATUS de pagamento e vencimento das NF's onde na primeira condição ele consulta a coluna E1_SALDO e se caso tiver o valor 0 registrado no campo ele escreve no registro da coluna STATUS como 'PAGO'. Até ai tudo bem, o problema mora no sentindo de ele não respeitar a próxima condição fazendo um comparativo entre a data do vencimento real da NF e a data de 'HOJE', se caso o vencimento real for menor do que a data de HOJE ele registra o dado como 'A VENCER'. Não sei se existe uma conversão que deve ser feita entre as colunas, pois coluna E1_VENCREA é do tipo varchar e a coluna HOJE é do tipo int. Não sei como ele faz a leitura quando são duas colunas com tipos de dados diferentes.
Alguém sugere algum outro caminho para explorar?
7 minutos atrás, Victor França disse:
Olá pessoal.
Tenho desenvolvido uma query de consulta que trabalha com algumas colunas criadas por alias. Segue exemplo abaixo:
CASE
WHEN E1_SALDO = 0 THEN 'PAGO'
WHEN E1_VENCREA < 'HOJE' THEN 'A VENCER'
ELSE 'VENCIDO'
END 'STATUS',
CASE
WHEN 'DIAS ATRASO/A RECEBER' = '0' THEN '0'
WHEN 'DIAS ATRASO/A RECEBER' <= '30' THEN '1'
WHEN 'DIAS ATRASO/A RECEBER' <= '60' THEN '2'
WHEN 'DIAS ATRASO/A RECEBER' <= '90' THEN '3'
END 'FAIXA ATRASO/A RECEBER'
No primeiro CASE a coluna criada como 'STATUS' estou desenvolvendo a lógica de criar uma coluna que me gere o STATUS de pagamento e vencimento das NF's onde na primeira condição ele consulta a coluna E1_SALDO e se caso tiver o valor 0 registrado no campo ele escreve no registro da coluna STATUS como 'PAGO'. Até ai tudo bem, o problema mora no sentindo de ele não respeitar a próxima condição fazendo um comparativo entre a data do vencimento real da NF e a data de 'HOJE', se caso o vencimento real for menor do que a data de HOJE ele registra o dado como 'A VENCER'. Não sei se existe uma conversão que deve ser feita entre as colunas, pois coluna E1_VENCREA é do tipo varchar e a coluna HOJE é do tipo data. Não sei como ele faz a leitura quando são duas colunas com tipos de dados diferentes.
Pergunta
Victor França
Olá pessoal.
Tenho desenvolvido uma query de consulta que trabalha com algumas colunas criadas por alias. Segue exemplo abaixo:
CASE
WHEN E1_SALDO = 0 THEN 'PAGO'
WHEN E1_VENCREA < 'HOJE' THEN 'A VENCER'
ELSE 'VENCIDO'
END 'STATUS',
CASE
WHEN 'DIAS ATRASO/A RECEBER' = '0' THEN '0'
WHEN 'DIAS ATRASO/A RECEBER' <= '30' THEN '1'
WHEN 'DIAS ATRASO/A RECEBER' <= '60' THEN '2'
WHEN 'DIAS ATRASO/A RECEBER' <= '90' THEN '3'
END 'FAIXA ATRASO/A RECEBER'
No primeiro CASE a coluna criada como 'STATUS' estou desenvolvendo a lógica de criar uma coluna que me gere o STATUS de pagamento e vencimento das NF's onde na primeira condição ele consulta a coluna E1_SALDO e se caso tiver o valor 0 registrado no campo ele escreve no registro da coluna STATUS como 'PAGO'. Até ai tudo bem, o problema mora no sentindo de ele não respeitar a próxima condição fazendo um comparativo entre a data do vencimento real da NF e a data de 'HOJE', se caso o vencimento real for menor do que a data de HOJE ele registra o dado como 'A VENCER'. Não sei se existe uma conversão que deve ser feita entre as colunas, pois coluna E1_VENCREA é do tipo varchar e a coluna HOJE é do tipo int. Não sei como ele faz a leitura quando são duas colunas com tipos de dados diferentes.
Alguém sugere algum outro caminho para explorar?
Link para o comentário
Compartilhar em outros sites
0 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.