- バックアップ一覧
- 現在との差分 を表示
- ソース を表示
- バックアップ を表示
- PostgreSQL/SQL/階層/3階層構造のテーブルで一番上の親を参照する へ行く。
- 1 (2011-04-14 (木) 11:39:07)
- 追加された行はこの色です。
- 削除された行はこの色です。
* 3階層構造で一番上の親を参照する [#i4dfbaf2] ** 前提 [#i4c2b395] |id(PK)|parent_id |1|0 SELECT COALESCE( CASE WHEN t3.parent_id = 0 THEN NULL ELSE t3.parent_id END, CASE WHEN t2.parent_id = 0 THEN NULL ELSE t2.parent_id END, CASE WHEN t1.parent_id = 0 THEN t1.id ELSE t1.parent_id END) AS top, t1.id FROM tbl t1 LEFT OUTER JOIN tbl t2 ON t1.parent_id = t2.id LEFT OUTER JOIN tbl t3 ON t2.parent_id = t3.id ORDER BY top;