Re: Self Join Help

From: apz <apz(at)nofate(dot)com>
To:
Cc: Gerard Samuel <gsam(at)trini0(dot)org>, pgsql-php(at)postgresql(dot)org
Subject: Re: Self Join Help
Date: 2003-04-19 06:49:18
Message-ID: 3EA0F16E.2040408@nofate.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

this is second time I post to a forum, and second time I correct
myself... ugh, I should delay posting by 15 minutes, or stop re-reading
my emails after posting... ;D

anyways:

apz wrote:
> test=# select a.topicname as parent, b.topicname as child from topics as
> a left join topics as b on a.id = b.pid;
>
> parent | child
> --------+------------
> XHTML | null
> Foo | null
> Apache | PHP
> News | Tech News
> News | World News

this actually should return:

test=# select a.topicname as parent, b.topicname as child from topics as
a left join topics as b on a.id = b.pid;

parent | child
------------+------------
XHTML | null
Foo | null
Apache | PHP
News | Tech News
News | World News
PHP | null
Tech News | null
World News | null

the querry with left join should return child=null if a node is a leaf.
so XHTML and PHP return child as null because neither have any nodes
underneath.
this also should mean that topicname should not allow null values, not
to confuse ourselves further on.

so two ways are:
- add one node which is always root, use your querry
- use left join, when no child then child returns as null

/apz, You can always tell luck from ability by its duration.

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Adrian Tineo 2003-04-19 08:16:16 Re: session_pgsql-0.6.1
Previous Message apz 2003-04-19 06:38:37 Re: Self Join Help