2016-07-26 10 views
2

親IDを持つ階層テーブルを選択する方法は? 私はこのPOSTGRE階層テーブルから親の名前を選択する方法

+-----------+------------+-------------+ 
| id  | parent_id | name  | 
+-----------+------------+-------------+ 
|1   | 0   | a   | 
+-----------+------------+-------------+ 
|2   | 1   | a1   | 
+-----------+------------+-------------+ 
|3   | 0   | b   | 
+-----------+------------+-------------+ 
|4   | 3   | b1   | 
+-----------+------------+-------------+ 
|5   | 3   | b2   | 
+-----------+------------+-------------+ 

のようなテーブルを持っていると私はこの

+-----------+------------+-------------+ 
| id  | name  | parent  | 
+-----------+------------+-------------+ 
|1   | a   | NULL  | 
+-----------+------------+-------------+ 
|2   | a1   | a   | 
+-----------+------------+-------------+ 
|3   | b   | NULL  | 
+-----------+------------+-------------+ 
|4   | b1   | b   | 
+-----------+------------+-------------+ 
|5   | b2   | b   | 
+-----------+------------+-------------+ 

のようなテーブルを表示するには、このような選択を作成することが可能ですか?誰でも、

答えて

1

を提案PostgreやMySQLでこれを作成する方法を知って、私にいくつかを与えてください単にleft joinを使用します。

select t1.id, t1.name, t2.name as parent 
from yourtable t1 
left join yourtable t2 
on t1.parent_id = t2.id 
order by t1.id 

Demo Here

+0

私はちょうど1つのテーブル –

+1

はい、 '自己join'を、持っていますではない? @yuliantosaparudin – Blank

+0

ハハハ私はどのようにダム、ありがとう、ミスター。 JPG –

関連する問題