From: hubert depesz lubaczewski <depesz@depesz.com>
To: Thomas Kellerer <spam_eater@gmx.net>
Cc: pgsql-sql@postgresql.org
Subject: Re: Having a mental block with (self) outer joins
Date: Mon, 21 Apr 2008 16:05:21 +0200
Message-ID: <20080421140521.GA15223@depesz.com> (raw)
In-Reply-To: <fui5v8$pi9$1@ger.gmane.org>
References: <fui5v8$pi9$1@ger.gmane.org>
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)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: depesz@depesz.com, spam_eater@gmx.net
Subject: Re: Having a mental block with (self) outer joins
In-Reply-To: <20080421140521.GA15223@depesz.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox