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 um outro caminho para explorar?