[pgsql-jp: 40440] Re: 階層問い合わせの使い方について

Itagaki Takahiro itagaki.takahiro @ gmail.com
2010年 10月 6日 (水) 19:07:22 JST


板垣です。

2010/10/6  <kuma @ fgy.co.jp>:
> 以前、表題の件でご質問させて頂いた時に8.4 以降であればと言う事で以下のよ
> うに教えていただきましたが、データの取得順を階層毎(?)にするにはどのよ
> うにすればよろしいのでしょうか?

level = level + 1 のような列を作って、それでソートすることになるのでは。

http://lets.postgresql.jp/documents/technical/with_recursive

にいくつか例を書いたのですが、以下のSQLが参考になるでしょうか?

WITH RECURSIVE r AS (
      SELECT *, locktag(pg_locks),
             row_number() OVER () AS chain,
             1 AS level -- ★ココ
       FROM pg_locks WHERE NOT granted
    UNION ALL
      SELECT s.*, locktag(s), r.chain, r.level + 1 -- ★ココ
        FROM r, pg_locks s
       WHERE ...

-- 
Itagaki Takahiro


pgsql-jp メーリングリストの案内