|
Hola..
Encontre esto por la web.. por ahi lo podes adaptar a tu caso:
Se tienen dos BD, digamos A y B. En la BD A hay una tabla T1, y en B una tabla T2, y en ambas tablas un campo llamado F.
Resulta que necesito extraer el valor del campo F que se encuentra en T1, y luego garantizar que ese dato no existe en ningún registro de T2 en el campo F.
Primero, cada tabla tenía 65000 registros y hasta más.y luego de hacer la consulta tal cual, pude ver que sólo dos registros cumplían a satisfacción con las condiciones... 2 de 65000 ! ! !
La cosa es que en el SELECT, primero se escribe el nombre de la BD, luego el USUARIO y finalmente la tabla. Entonces, si tenemos un usuario USR que tiene permisos sobre ambas tablas ( si no los tiene pues simplemente no hace uso de ésta ), la consulta correcta sería:
select * from A.USR.T1 where F not in ( select F from B.USR.T2 )
Saludos.
|