Re: please help construct an SQL query

Поиск
Список
Период
Сортировка
От David W Noon
Тема Re: please help construct an SQL query
Дата
Msg-id sqq2p-bi9.ln1@my-pc.ntlworld.com
обсуждение исходный текст
Ответ на please help construct an SQL query  (jfc100@btopenworld.com (Joe))
Список pgsql-sql
On Sunday 11 May 2003 16:27 in
<88d9f4b3.0305110727.243250b9@posting.google.com>, Joe
(jfc100@btopenworld.com) wrote:

I will re-post my follow-up.

On Saturday 10 May 2003 07:21 in
<88d9f4b3.0305092221.7827c597@posting.google.com>, Joe
(jfc100@btopenworld.com) wrote:

> Not being great with SQL, I was hoping to get some advice on how to
> construct an SQL statement that will give me a particular result.
> 
> Basically I want to end up with a list of groups that a user belongs
> to. The list of group names should be in hierarchical order. The
> groups have a hierarchical relationship to each other as depicted in
> the following table structure:
> 
> User groups table:
> test=# \d usergroupbean
>        Table "usergroupbean"
>    Column    |  Type   | Modifiers
> -------------+---------+-----------
>  usergroupid | integer | not null
>  name        | text    |
>  parent      | integer |

I presume the column "parent" is, in fact, a self-referential key within
that table. In that case, the best approach is to build another table that
reflects the hierarchical structure, usually called a path enumeration
table. It is a little long-winded to go through here, but is well described
in a book titled "SQL for Smarties" [stop laughing, all you Australians!]
by a very knowledgeable author named Joe Celko.

A path enumeration table allows you to ensure the integrity of your
hierarchy, as well as sorting any cursor by each record's depth within the
hierarchy. It should solve all your problems in this case.

Indeed, I can recommend Celko's book to anybody faced with knotty problems
in database design and/or SQL coding. [I am not associated with Mr. Celko
in any way, other than as a satisfied reader.]

-- 
Regards,

Dave
======================================================
dwnoon@spamtrap.ntlworld.com (David W Noon)
Remove spam trap to reply via e-mail.
======================================================



В списке pgsql-sql по дате отправления:

Предыдущее
От: SEB Menard
Дата:
Сообщение: Questions for experts
Следующее
От: Jamie Lawrence
Дата:
Сообщение: Re: N all-way relationship