Não mostrar registros com campo nulo
Olá pessoal, por favor preciso de uma ajuda com o select abaixo.
Após executar o script, o retorno mostra o registro de um lote que contem 6 exames, e desses 6 exames 1 está pedente de aprovação (data de aprovação "null"), sendo assim o lote não deveria ser apresentado no retorno do select *(imagem 1).*
Preciso que o retorno do select traga somente lotes que tenham todos os exames aprovados ou seja que não tenha data de aprovação nula dentro daquele lote.
SELECT R.NR_LOTE,
R.SEQUENCIA_LOTE,
R.INSTITUICAO,
R.DT_RECEBIMENTO,
R.DT_APROVACAO,
R.NR_SEQ_LOCAL,
R.NR_SEQ_LOCAL_CAIXA
FROM
(SELECT DISTINCT
A.NR_LOTE,
A.NR_SEQUENCIA SEQUENCIA_LOTE,
SUBSTR(OBTER_INSTITUICAO_LOTE_ENT(NR_SEQ_INSTITUICAO), 1, 255) INSTITUICAO,
A.DT_RECEBIMENTO DT_RECEBIMENTO,
MAX(G.DT_APROVACAO) DT_APROVACAO,
Q.NR_SEQ_LOCAL,
Q.NR_SEQ_LOCAL_CAIXA
FROM LOTE_ENT_SECRETARIA A
,LOTE_ENT_SEC_FICHA Q
, PRESCR_PROCEDIMENTO B
, EXAME_LAB_RESULTADO F
, EXAME_LAB_RESULT_ITEM G
WHERE 1 = 1
AND A.NR_SEQUENCIA = Q.NR_SEQ_LOTE_SEC
AND Q.NR_PRESCRICAO = B.NR_PRESCRICAO
AND F.NR_PRESCRICAO = B.NR_PRESCRICAO
AND F.NR_SEQ_RESULTADO = G.NR_SEQ_RESULTADO
AND Q.NR_SEQ_LOCAL IS NULL
AND Q.NR_SEQ_LOCAL_CAIXA IS NULL
AND Q.CD_BARRAS = '1000006388'
AND B.IE_STATUS_ATEND > = 35
AND NOT EXISTS (SELECT 1
FROM LOTE_ENT_EXAME_MASSA L
WHERE L.NR_SEQ_EXAME = B.NR_SEQ_EXAME
AND L.IE_SITUACAO = 'A')
GROUP BY A.NR_SEQUENCIA,
A.NR_LOTE,
SUBSTR(OBTER_INSTITUICAO_LOTE_ENT(NR_SEQ_INSTITUICAO), 1, 255),
A.DT_RECEBIMENTO,
Q.NR_SEQ_LOCAL,
Q.NR_SEQ_LOCAL_CAIXA
ORDER BY SEQUENCIA_LOTE, A.NR_LOTE, INSTITUICAO) R
--WHERE TRUNC(R.DT_APROVACAO) BETWEEN :DATA_INICIO AND :DATA_FINAL
//
Ao excluir o MAX do campo G.DT_APROVACAO o retorno mostra que dentro do lote existe um exame sem aprovação (imagem 2).
Desde já agradeço!


Discussão (5)
Carregando comentários...