2014-03-26 23 views
0

我有這個表:的mysql:一對多本身並加入

id name  parent_id 
0 fruit NULL 
1 place NULL 
2 apple 0 
3 orange 0 
4 beach 1 
5 forest 1 

,我希望得到這樣一個結果:

id name name 
0 fruit NULL 
1 place NULL 
2 apple fruit 
3 orange fruit 
4 beach place 
5 forest place 

我試圖用這樣的:

SELECT * FROM foobar LEFT OUTER JOIN foobar c ON c.parent_id = c.id 

但它不起作用。

+0

這可能已經被谷歌搜索了。 – KrazzyNefarious

回答

1
SELECT c.id, c.name, a.name as [parent] FROM foobar a LEFT OUTER JOIN foobar c ON c.parent_id = a.id 
2

在你JOIN你joing c本身。您必須加入cfoobar。試試這個:

SELECT foobar.id, foobar.name, c.name FROM foobar LEFT OUTER JOIN foobar c ON foobar.parent_id = c.id 
+0

'select *'和'join'在一起嗎? – KrazzyNefarious