Tenho um empregado que no cadastro de histórico de seção (PFHSTSEC), consta as seguintes datas de alteração de histórico:
13/01/2006
01/04/2009
01/10/2009
Preciso verificar em qual seção o empregado está ou estava em uma determinada data, para tanto, desenvolvi a SQL abaixo:
----------------------
SELECT A.CHAPA, SUBSTR(B.DESCRICAO, 1, 6) AS CR
FROM PFHSTSEC A, PSECAO B
WHERE A.CHAPA = '000663'
AND A.CODCOLIGADA = 7
AND B.CODCOLIGADA = A.CODCOLIGADA
AND TO_CHAR(A.DTMUDANCA, 'MM') = 04
AND TO_CHAR(A.DTMUDANCA, 'YYYY') = 2009
AND A.CODSECAO = B.CODIGO
----------------------
Quando passo o parâmetro do mês e ano que existe no histórico, o sistema traz o resultado certinho, porém, quando passo um mês e ano que não existe no histórico ele traz vazio.
Preciso que a SQL verifique em qual CR o empregado estava no mês e ano informado.
Por exemplo: Na SQL acima, o sistema está retornando valor, pois o empregado possui histórico de mudança de seção na data 01/04/2009, porém se eu passar a data 01/02/2009, o sistema retorna vazio, pois não existe histórico de mudança nesse período. O que deve ser alterado na SQL para tratar esta situação ?