Re: Complex outer joins?

Поиск
Список
Период
Сортировка
От Correia, Carla
Тема Re: Complex outer joins?
Дата
Msg-id 0F232CC93A58D6119C1600B0D0799B8102338823@hamsrvmx03.logica.co.uk
обсуждение исходный текст
Ответ на Complex outer joins?  ("Correia, Carla" <Carla.Correia@logicacmg.com>)
Список pgsql-sql
Sorry if I was not that clear...but in fact the  (+) is the join operator in
Oracle.
The statement in question is about making 3 left outer joins on 3 diferent
tables.
G, L and C are in fact 3 diferent tables.

     Carla




-----Ursprüngliche Nachricht-----
Von: Peter Childs [mailto:blue.dragon@blueyonder.co.uk]
Gesendet: Monday, March 24, 2003 11:44 AM
Cc: 'pgsql-sql@postgresql.org'
Betreff: Re: [SQL] Complex outer joins?


On Mon, 24 Mar 2003, Correia, Carla wrote:

>
> Hi,
>
> I've got PsotgreSQL 7.3.
>
>  My problem is joins. I've seen the syntax on joins and have sucessefully
> used SQLs with joins, but I've got some other big SQL statements using
many
> and complex
>  joins.
> Simplified example:
>
>  select G.SELID, G.TEXT,
>      L.ID as SELLEVELID , L.SELLEVEL, L.LEVELJOIN, L.LEVELTEXT,
>      C.ID as KRITERIENFELDID, C.SELFLD
>   from  G,  L,  C
>   where
>      and G.SELID = L.SELID (+)
>      and L.SELID = C.SELID (+)
>      and L.SELLEVEL = C.SELLEVEL (+)
>
> How can i write this in Postgres? As the problem is that I use one same
>  table for varios joins. This is a problem in Postgres. Any ideas?
>
>  When I use the same table in say 3 or 4 joins in one SQL, is the only
>  solution unions?? Adn if so, the performance will certainly suffer?
> I don't quite understand you question. but I presume that G, L,
and C are in fact the same table. I'm not sure what you mean by the (+)
more clarity is really required.If however G, L, and C are the same table this query can be
rewritten as

select G.SELID, G.TEXT,      L.ID as SELLEVELID , L.SELLEVEL, L.LEVELJOIN, L.LEVELTEXT,      C.ID as KRITERIENFELDID,
C.SELFLD from  table as G,  table as L,  table as C  where      and G.SELID = L.SELID       and L.SELID = C.SELID
andL.SELLEVEL = C.SELLEVEL; 
Where table is the name of the table....I hope that helps

Peter Childs


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command   (send "unregister YourEmailAddressHere" to
majordomo@postgresql.org)

This e-mail and any attachment is for authorised use by the intended recipient(s) only.  It may contain proprietary
material,confidential information and/or be subject to legal privilege.  It should not be copied, disclosed to,
retainedor used by, any other party.  If you are not an intended recipient then please promptly delete this e-mail and
anyattachment and all copies and inform the sender.  Thank you. 



В списке pgsql-sql по дате отправления:

Предыдущее
От: "Correia, Carla"
Дата:
Сообщение: Complex outer joins?
Следующее
От: Christoph Haller
Дата:
Сообщение: Re: Seeking help with a query....