Re: Having a mental block with (self) outer joins - Mailing list pgsql-sql

From hubert depesz lubaczewski
Subject Re: Having a mental block with (self) outer joins
Date
Msg-id 20080421140521.GA15223@depesz.com
Whole thread Raw
In response to Having a mental block with (self) outer joins  (Thomas Kellerer <spam_eater@gmx.net>)
Responses Re: Having a mental block with (self) outer joins  (Thomas Kellerer <spam_eater@gmx.net>)
List pgsql-sql
On Mon, Apr 21, 2008 at 03:48:23PM +0200, Thomas Kellerer wrote:
> name, id, parent_id
> 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.

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

depesz

-- 
quicksil1er: "postgres is excellent, but like any DB it requires a
highly paid DBA.  here's my CV!" :)
http://www.depesz.com/ - blog dla ciebie (i moje CV)


pgsql-sql by date:

Previous
From: Thomas Kellerer
Date:
Subject: Having a mental block with (self) outer joins
Next
From: Thomas Kellerer
Date:
Subject: Re: Having a mental block with (self) outer joins