Estou com um pequeno problema aqui na empresa e acho que podem me ajudar a melhorar minha consulta.
Criei o seguinte SQL para fazer a seguinte consulta:
Preciso pegar o número de todas as autorizações que possuem participantes mas que não têm nenhum pedido criado com status "ORC" ou "FAL".
Vejam o comando:
SELECT DISTINCT
AD.AUTORIZACAO AS AUTORIZACAO
FROM
AUTORIZACAO_CASSI_DATA AD
INNER JOIN PARTICIPANTES PA
ON
AD.ID_PARTICIPANTE = PA.IDENTIFICADOR_PARTICIPANTE
WHERE
AD.STATUS_INTERNO = 'D'
AND AD.EVENTO_SITUACAO IN ('A','L')
AND PA.TIPO_OPERACAO NOT IN 'E'
AND PA.STATUS NOT IN 'S'
AND AD.AUTORIZACAO NOT IN
(
SELECT DISTINCT
CP.AUTORIZACAO_CASSI
FROM
FAT_CAPAPEDIDO_ERP CP
WHERE
CP.AUTORIZACAO_CASSI = AD.AUTORIZACAO
AND CP.STATUS IN ('ORC','FAL')
)
ORDER BY
AD.AUTORIZACAO ASC
alguém saberia uma maneira de otimizar essa consulta?
Valeu.