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
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 |