2012-06-29 13 views
1

得到父亲的名字我有一个示例代码:如何在PHP

products(id, parent_id, name) 
1 | 0 | product1 
2 | 0 | product2 
3 | 1 | product1_1 
4 | 1 | product1_2 
5 | 2 | product2_1 
6 | 2 | product2_2 

和查询:

SELECT prod.id, prod.name 
FROM `products` AS prod 
INNER JOIN `products` AS prod_parent ON prod_parent.product_id = prod.parent_id 

但是结果是:

3 | product1_1 
4 | product1_2 
5 | product2_1 
6 | product2_2 

如何获得父母的父亲

1 | product1 
2 | product2 

回答

1

具体在你的SELECT列表中你想要他们的表格。这将给你所有四列,但你可以修剪它只有你需要的。

SELECT 
    prod.id AS prod_id, 
    prod.name AS prod_name, 
    prod.parent_id AS parent_id, 
    prod_parent.name AS parent_name 
FROM `products` AS prod 
LEFT JOIN `products` AS prod_parent ON prod_parent.product_id = prod.parent_id 
+0

@Micheal:我已编辑的代码,请再次 –

+0

帮我@TrươngHải使用'LEFT JOIN'取代'INNER JOIN'。 –

+0

@Micheal:非常感谢Micheal ...... –