Re: Getting rows in a very specific order

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: Getting rows in a very specific order
Дата
Msg-id b42b73150809130441q7848321etd4f50db00f088b5@mail.gmail.com
обсуждение исходный текст
Ответ на Getting rows in a very specific order  (Gordon <gordon.mcvey@ntlworld.com>)
Список pgsql-general
On Mon, Sep 8, 2008 at 12:29 PM, Gordon <gordon.mcvey@ntlworld.com> wrote:
> I'm considering using an array of ints column in a table which lists a
> row's ancestry.  For example, if item 97 is contained within itme 68
> and that item is contained with in 31 and that item is contained
> within item 1 then the value of the hierachy column would be
> {1,31,68,97}, the numbers refer to the primary keys of the rows.
>
> If I use the value of the hierarchy column in a query I can get all
> the rows that a given row is an descendant of.  (SELECT * FROM items
> WHERE itm_id IN (1,31,68,97), for example.  However, I need the rows
> to be in the correct order, ie the root node first, child second,

convert that to

select * from items where itm_id = 1
  union all
select * from items where itm_id = 31
...

If this is a recursive table you should probably thinking about
writing recursive functions that access the structure or possibly use
a materialized path approach.

merlin

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

Предыдущее
От: bbeyer@purdue.edu
Дата:
Сообщение: Possible limit on transaction size?
Следующее
От: Martin Gainty
Дата:
Сообщение: Re: Possible limit on transaction size?