• 追加された行はこの色です。
  • 削除された行はこの色です。
* 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;



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS