Re: Ayuda con Outer Join en 3 tablas

From: "Beto Guerrero" <guerrero(dot)beto(at)gmail(dot)com>
To: "Jose Maria Mencia Fernandez" <jmencia(at)alimarket(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con Outer Join en 3 tablas
Date: 2006-10-19 17:23:42
Message-ID: cbb40a720610191023h47d26f94qb43c70ce6b0ead3a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

creo que solo deberias ponerlo asi, espero no equivocarme:

select a.id_a,a.denominacion as deno_a,ab.id_b,b.denominacion as deno_b
from a
LEFT JOIN ab ON ab.id_a = a.id_a
inner join b on ab.id_b=b.id_b
where a.denominacion like '%pepe%';

El 19/10/06, Jose Maria Mencia Fernandez<jmencia(at)alimarket(dot)es> escribió:
> Buenas a todos, y gracias de antemano; les explico mi duda:
> tengo 3 tablas con aspecto similar a éste:
>
> create table A {
> id_a integer not null, [PK]
> denominacion varchar(50) not null
> }
> donde la clave primaria es id_a.
>
> create table B {
> id_b integer not null, [PK]
> denominacion varchar(50) not null
> }
> donde la clave primaria es id_b.
>
> create table AB {
> id_a integer not null,
> id_b integer not null
> }
> donde la clave primaria es (id_a, id_b), ambas como claves ajenas de A y
> B respectivamente.
>
>
> Quisiera sacar todos los registros de la tabla A, con la información de
> los registros de la tabla B con la que se relacionan, independientemente
> de que existan o no tuplas en AB. Es decir realizar OUTER JOIN de A con
> AB y de AB con B. Además quiero aplicar algunos otros criterios de
> búsqueda en A como por ejemplo: a.denominacion LIKE '%PEPE%';
>
> En la documentación de Postgresql sólo he encontrado ejemplos de OUTER
> JOIN entre dos tablas y me pierdo un poco en la sintaxis a la hora de
> cruzar tres tablas.
>
> No estoy seguro de si sería algo parecido a:
>
> select a.id_a,
> a.denominacion as deno_a,
> ab.id_b,
> b.denominacion as deno_b
> from (a LEFT OUTER JOIN ab ON ab.id_a = a.id_a)
> /* AQUI IRIA EL CRUCE DE ab CON b */
> where a.denominacion like '%pepe%';
>
> Les agradecería enormemente su ayuda.
> Muchas gracias.
>
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 2: puedes desuscribirte de todas las listas simultáneamente
> (envíe "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)
>

--

Atte

Alberto Nicolas Guerrero P.
Desarrollador Java / Open Source
Tel: +51.15331720
Cel: +51.197208984

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-10-19 17:52:24 Re: Manejo fechas
Previous Message ricardo yanguma 2006-10-19 16:54:54 Re: Manejo fechas