¿Has probado así?
SELECT pedidos.num_factura FROM pedidos WHERE pedidos.num_factura NOT IN (Select pedidos.num_factura FROM pedidos INNER JOIN auditoria ON pedidos.num_factura = auditoria.num_factura WHERE auditoria.id_enpoderde = 1) GROUP BY pedidos.num_factura
Quizás será más rápida así:
SELECT pedidos.num_factura FROM pedidos WHERE pedidos.num_factura NOT IN (Select auditoria.num_factura FROM auditoria WHERE auditoria.id_enpoderde = 1) GROUP BY pedidos.num_factura
Podemos hacer una consulta tal vaz algo más rápida con LEFT JOIN
SELECT pedidos.num_factura FROM pedidos LEFT JOIN (Select auditoria.num_factura FAC FROM auditoria WHERE auditoria.id_enpoderde = 1)t1 ON pedidos.num_factura = t1.FAC WHERE auditoria.num_factura IS NULL GROUP BY pedidos.num_factura
No lo he probado. Por cierto,imagino que tendrás indexado los campos auditoria.id_factura y pedidos.id_factura. Si no es así, seguro que ganas velocidad indexando esos campos