Re: WITH RECURSIVE clause -- all full and partial paths

Поиск
Список
Период
Сортировка
От Harald Fuchs
Тема Re: WITH RECURSIVE clause -- all full and partial paths
Дата
Msg-id puzlcd2orm.fsf@srv.protecting.net
обсуждение исходный текст
Ответ на WITH RECURSIVE clause -- all full and partial paths  (aryoo <howaryoo@gmail.com>)
Ответы Re: WITH RECURSIVE clause -- all full and partial paths  (David Fetter <david@fetter.org>)
Список pgsql-general
In article <aaf543e90906120856r5219cf9cv7f13ba0d37494378@mail.gmail.com>,
aryoo <howaryoo@gmail.com> writes:

> Dear list,
> In reference to the message below posted on the 'pgsql-hackers' list regarding
> 'iterative' queries,
> could anyone help me write the queries that return all full and all partial
> paths from the root?

Probably you want to use the following query:

  WITH RECURSIVE subdepartment AS (
    SELECT id, parent_department, name AS path
    FROM department
    WHERE name = 'A'
  UNION ALL
    SELECT d.id, d.parent_department, sd.path || '.' || d.name
    FROM department d
    JOIN subdepartment sd ON sd.id = d.parent_department
  )
  SELECT id, path
  FROM subdepartment;

This returns:

 id |  path
----+---------
  1 | A
  2 | A.B
  3 | A.B.C
  4 | A.B.D
  6 | A.B.C.F
(5 rows)

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

Предыдущее
От: Sam Mason
Дата:
Сообщение: Re: search for partial dates
Следующее
От: Scott Marlowe
Дата:
Сообщение: Re: search for partial dates