[Pgsql-ayuda] Full join de tres tablas

Rafael Vigata rvigata@sipec.es
Wed, 11 Feb 2004 12:10:14 +0100


Buenos d=EDas,

   Tengo problemas al intentar hacer un "full join de tres tablas". Me =
explico: Tengo tres tablas (Articulos, stock, info_etiqueta) que se =
puden ligar por un campo com=FAn id_iinterno. Cuando un elemento existe =
en alguna de las tablas es el mismo para las tres, pero no tiene =
porqu=E9 existir en las tres.

   La consulta que deseo hacer sobre estas tablas consisten en saber que =
elementos est=E1n en cada una de ellas que no est=E9n en alguna de las =
otras dos. O sea una consulta que me devuelva esto:

Articulos |  Stock  |  Info_etiqueta
-------------------------------------
    10    |  NULL   |    NULL          Solo esta en articulos
   NULL   |   11    |    NULL          Solo esta en stock
    12    |   12    |     12           Esta en las 3 tablas
   NULL   |  NULL   |     13           Solo esta en info_etiqueta
    14    |   14    |    NULL          Esta en articulos y stock
    15    |  NULL   |     15           Esta en articulos e info_etiqueta
   NULL   |   16    |     16           Esta en stock e info_etiqueta
   =20

Con dos tablas esto es facil ya que se consigue con un FULL JOIN, pero =
llevo un dia entero comiendome la cabeza para conseguir esto y siempre =
se me duplican lineas al intentar ligar 2 full joins.=20

=BFAlguien me puede echar una mano?


    saludos,

             Rafa
--------------------------------------------
Rafael Vigata
Programador Retail Software
rvigata@sipec.es =20
Tel.  934 800 560
Fax  934 800 505
=20
Sipec
Soluciones inform=E1ticas=20
para el comercio