PDA

Ver la Versión Completa : Outer Join


santi
03-02-2005, 13:22:43
Hola a tod@s,
necesito hacer una join de dos tablas que me muestre el resultado tanto si los registros de la izquierda son nulos como los de la derecha.
Necesitaría algo del tipo ..WHERE tabla1.campo(+) = tabla2.campo(+), pero así no funciona. Hay otra manera de escribirlo?
Gracias.
Santi.

Neftali [Germán.Estévez]
03-02-2005, 16:11:40
En una sólo consulta no se si vas a poder; Se me ocurre que puedes hacer una UNION. El la primera utilizas INNER JOIN (te devolverá los que no son nulos en ninguna de las dos) y en la segunda utilizas un WHERE para los que son nulos en una tabla y en la otra (sin JOIN, para que haga el producto cartesiano). No lo he probado, pero creo que debe funcionar.


SELECT T1.*, T2.* FROM ... T1 INNER JOIN T2 ON...
UNION
SELECT T1.*, T2.* FROM ... T1,T2 WHERE (not T1.campo IS NULL) or (not T2.campo IS NULL)


...algo así.

santi
03-02-2005, 16:57:50
Gracias, lo he probado y funciona!!!
Santi.