
19/03/2010, 15:59
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 17 años Puntos: 300 | |
Respuesta: sql no mostrar registro si aparece en las 2 tablas. ¿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
Última edición por jurena; 19/03/2010 a las 16:11 |