On Wed, Oct 04, 2006 at 10:08:10 -0300,
Alexander Burbello <burbello3000@yahoo.com.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
;