SQL Sub Query Not Working

opl12
New Contributor II

Olá pessoal,
espero que todos estejam bem!

Por favor, você pode ajudar? ou orientação?

Está retornando um erro na instrução "CASE WHEN"

A lógica é a seguinte:
Se o campo `valor` FOR NULO ENTÃO
eu executo uma Sub Consulta usando os filtros:
origem, destino e dt
Nesta Sub Consulta quero trazer a maior data do campo `DT` da tabela ` tabeba_extracao` 

O erro ocorre na subconsulta, a mensagem de erro é esta:
ExtendedAnalysisException: [UNRESOLVED_COLUMN.WITH_SUGGESTION] Um parâmetro de coluna ou função com o nome `e`.`cb` não pode ser resolvido

 

obrigado!

aqui está a consulta SQL:

SELECT to_date ( e . `DT` ,  'yyyyMMdd' )  AS `Data`
	 , e . `origem`
	 , e . `destino`
	 , e . `cb`
	 , CASO  
		QUANDO d . `valor` É  NULO 
			ENTÃO  ( 
					SELECT b . `valor` FROM financeiro_proc . tbldadConversaoMoeda AS b WHERE b . `cb` = e . `cb`
						 AND b . `destino` = e . `destino`
						 AND b . `origem` = e . `origem`
						 AND to_date ( b . `data_do_dado` ,  'yyyyMMdd' )  =  ( 
							SELECT  MAX ( to_date ( C . `data_do_dado` ,  'yyyyMMdd' ) )  FROM tabela_categoria C WHERE C . `cb` = e . `cb `
								 AND C . `destino` = e . `destino`
								 AND C . `origem` = e . `origem`
								 AND to_date ( C . `data_do_dado` ,  'yyyyMMdd' )  < to_date ( e . `DT` ,  'yyyyMMdd' ) 
							)  GROUP  BY b .`valor` ) 
		ELSE d . _
					`valor`
		 END `valor` FROM tabeba_extracao e LEFT JOIN financeiro_proc . tbldadConversaoMoeda d ON e . `DT` = d . `data_do_dado`
	 AND e . `origem` = d . `origem`
	 AND e .`destino` = d . `destino`
	 AND e . `cb` = d . `cb` ;

#spark #sql