Cita:
Empezado por raffagia
que sentencia utlizo para hacer por sql ke me devuelva el diferencia entre dos tablas?
o sea los elementeo de la primer tabla,, ke no estan en la segunda,,
|
Se me ocurre que se puede hacer o con un "NOT IN" o utilizando JOIN. Ahora lo explico; Supongamos que tienes dos tablas
Tabla1 y Tabla2 cada una con
un campo OID que coincide; Se supone que
buscamos los registros de tabla1 cuyo OID no está entre los de la tabla2. Sería algo así:
Busca todos los registros de tabla1 cuyo campo OID no está en el campo OID de los registros de la tabla2.
Código SQL
[-]
select * from Tabla1 OID where OID not in (select OID from tabla2)
La segunda opción es un poco más comlpleja, pero también más eficiente; Se trata de hacer una JOIN (LEFT JOIN, para ser exactos) a partir de los campos OID de ambas tablas y mirar aquellos que devuelven OID NULL (que son los que en la tabla2 no existen); Para ésta opción es premisa que todos los registros (de ambas tablas) tengan el campo OID relleno:
Código SQL
[-]select tabla1.*, tabla2.OID as OID2 from tabla1 left join tabla2 on tabla1.oid=tabla2.oid where tabla2.oid is null