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

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

pgsql-php by date

Next:From: Adrian TineoDate: 2003-04-19 08:16:16
Subject: Re: session_pgsql-0.6.1
Previous:From: apzDate: 2003-04-19 06:38:37
Subject: Re: Self Join Help

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