| From: | Bruno Wolff III <bruno(at)wolff(dot)to> |
|---|---|
| To: | Alexander Burbello <burbello3000(at)yahoo(dot)com(dot)br> |
| Cc: | Lista Postgres <pgsql-admin(at)postgresql(dot)org> |
| Subject: | Re: Recursive use |
| Date: | 2006-10-04 15:54:59 |
| Message-ID: | 20061004155459.GC23343@wolff.to |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
On Wed, Oct 04, 2006 at 10:08:10 -0300,
Alexander Burbello <burbello3000(at)yahoo(dot)com(dot)br> wrote:
>
> I need to know if Postgres do recursive search and how can I do!
There is a contrib module (tablefunc I think) that allows recursive queries.
However in your example below, you don't actuall need recursion, just
self joins of the table.
> I will explain my problem.
>
>
> table COOPERATIVE
> code_cooperative int
> code_coo_father int
>
> I can have 3 level by business rules
>
> 1 - Father
> ----- 2 - Children
> --------- 3 - Grandchildren
>
>
> I would like to have a query asking who is father and granfather
> select grandfather, father from COOPERATIVE where COD_COOPERATIVE = 3
>
> Do the Postgres can solve this problem?
> Could anybody help me?
You can do something like the following (untested, beware of typos):
SELECT a.code_cooperative as child, a.code_coo_father as father,
b.code_coo_father as grandfather
FROM cooperative a, cooperative b
WHERE
a.code_coo_father = b.code_cooperative
AND
a.code_cooperative = 3
;
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Brad Nicholson | 2006-10-04 16:05:02 | Re: postgres in HA constellation |
| Previous Message | Bruno Wolff III | 2006-10-04 15:43:18 | Re: postgres in HA constellation |