huesos52,
creo que esta tuya, que es la que me dices, debe funcionar y tiene sentido para mí:
SELECT t1.id FROM
-> (SELECT id FROM pedido WHERE id=3
-> UNION ALL
-> SELECT id FROM factura WHERE id=3)t1
-> GROUP BY t1.id
-> HAVING count(*) =1;
no he probado ninguna, la verdad, pero, si es como dices, y en auditoria puede haber facturas que no están en pedidos, yo también intentaría esto, que tiene la ventaja de que evita un GROUP BY:
Código MySQL:
Ver original((SELECT pedidos.num_factura FACTURA
, pedidos.id_enpoderde ENPODERDE
FROM pedidos
LEFT JOIN auditoria
ON pedidos.num_factura
= auditoria.num_factura
(SELECT auditoria.num_factura
, auditoria.id_enpoderde
FROM auditoria
LEFT JOIN pedidos
ON auditoria.num_factura
= pedidos.num_factura
No lo he probado.