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 
       and L.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 [EMAIL PROTECTED])

Reply via email to