Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-sql by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group