Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/12/2005, 17:37
Avatar de Mithrandir
Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 8 meses
Puntos: 25
Haciendo de los 5 campos uno solo:

DELETE tabla
WHERE llave1+llave2+llave3+llave4+llave5 NOT IN (SELECT llave1+llave2+llave3+llave4+llave5 FROM otratabla)

Aunque lo mejor (entendimiento y rendimiento) es usar un outer join:

DELETE t1
FROM tabla1 t1
LEFT OUTER JOIN tabla2 t2
ON t1.llave1 = t2.llave1
AND t1.llave2 = t2.llave2
....
WHERE t2.llave1 IS NULL
AND t2.llave2 IS NULL
AND t2.llave3 IS NULL
....
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche