从两个表中选择数据。一张桌子是父母/孩子,我需要让父母没有关系

时间:2013-05-10 19:21:53

标签: mysql join relational-database

我有两张桌子

产品

id  |  catID  |  UID
--------------------
1   |  3      |  3

类别

id  |  cat_name  |  parent
--------------------------
2   |  XYZ       |  0
3   |  abc       |  2

我需要根据产品的ID来提取每个产品及其相关类别和相关父类别....

我尝试了几种变体,但无法将父类别放入fetch中。产品表中的父类别没有任何关系。

SELECT
  a.product_name, a.catID, b.cat_name, b.parent
FROM
  products a, categories b
WHERE
  a.id = '$_SESSION[spid]' 
  AND b.id = a.catID
  OR b.id = b.parent /// not correct..

1 个答案:

答案 0 :(得分:3)

select p.*,c1.cat_name as category, c2.cat_name as parent_category
from products p
left join categories c1 on (c1.id=p.catId)
left join categories c2 on (c1.parent=c2.id)