Re: Left join? - Mailing list pgsql-sql

From Richard Broersma Jr
Subject Re: Left join?
Date
Msg-id 20060701214445.36616.qmail@web31805.mail.mud.yahoo.com
Whole thread Raw
In response to Left join?  ("Carlos H. Reimer" <carlosreimer@terra.com.br>)
Responses RES: Left join?  ("Carlos H. Reimer" <carlosreimer@terra.com.br>)
List pgsql-sql
> In the following table, codsol, codate and codfec are foreign keys
> referencing table func and I need some help to codify a  SELECT command that
> produces the following result set but instead of codsol, codate and codfec I
> need the respectives names (column nome from table func).
> 
> postgres=# select * from reqtran;
>  codreq | codsol | codate | codfec
> --------+--------+--------+--------
>       1 |        |        |
>       2 |      1 |        |
>       3 |      1 |      1 |
>       4 |      1 |      1 |      1
> postgres=# \d func

>      Table "public.func"
>  Column |  Type   | Modifiers
> --------+---------+-----------
>  codfun | integer | not null
>  nome   | text    |

> Indexes:
>     "reqtran_codate_fkey" FOREIGN KEY (codate) REFERENCES func(codfun)
>     "reqtran_codfec_fkey" FOREIGN KEY (codfec) REFERENCES func(codfun)
>     "reqtran_codsol_fkey" FOREIGN KEY (codsol) REFERENCES func(codfun)

Would this do what you need?
select R1.codreq,       CS.nome,       CD.nome,       CF.nome
from rectran as R1   left join func as CS on (R1.codsol=CS.codefun)   left join func as CD on (R1.codate=CD.codefun)
leftjoin func as CF on (R1.codfec=CF.codefun)
 
;

Regards,

Richard Broersma Jr.


pgsql-sql by date:

Previous
From: "Carlos H. Reimer"
Date:
Subject: Left join?
Next
From: "Carlos H. Reimer"
Date:
Subject: RES: Left join?