Re: Having a mental block with (self) outer joins

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Having a mental block with (self) outer joins
Date: 2008-04-21 14:15:20
Message-ID: fui7ho$12e$1@ger.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

hubert depesz lubaczewski, 21.04.2008 16:05:
>> ROOT, 1, NULL
>> CHILD1, 2, 1
>> CHILD2, 3, 1
>>
>> I would have expected the following result:
>>
>> ROOT, NULL
>> ROOT, CHILD1
>> ROOT, CHILD2
>>
>> but the row with (ROOT,NULL) is not returned.
>
> why would you expect it?
> the columns are: parent and child (on your output).
> you dont have any row that has *parent_id = 1* and id = NULL.

Ah, of course that's where my mental block was ;)
Thanks for the quick response

> you can get this output though:
>
> NULL, ROOT
> ROOT, CHILD1
> ROOT, CHILD2
>
> with this query:
>
> select p.name as parent, c.name as child from category c left outer join category p on c.parent_id = p.id

If the table contains more levels (i.e. child1 being the parent of another item) this bring others back as well. And I was trying to retrieve the full path for each item (I do know the max. number of levels)

Cheers, and thanks a lot for the quick response
Thomas

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2008-04-21 14:23:06 Re: Error: could not find pathkey item to sort
Previous Message hubert depesz lubaczewski 2008-04-21 14:05:21 Re: Having a mental block with (self) outer joins