mysql加入两个相同的列

时间:2013-06-04 08:56:30

标签: mysql

我知道标题有点令人困惑,但我不知道如何更好地命名。 我有这样的表格:

产品:

product_id | product_name | product_category1 | product_category2

类别

category_id | category_name

我想选择看起来像这样的记录:

  

product_id | product_name | category_name | subcategory_name(其中category是category1,subcategory是category2)

所以我需要的是加入2列,其中每列是“category_name”列,但category_name必须在product_category1中保存ID,subcategory_name必须保存ID product_category2

我尝试了很多东西,但我真的被卡住了。我甚至无法粘贴我的概念,因为目前我还没有。

1 个答案:

答案 0 :(得分:2)

您只需要两次加入产品和类别,为两个联接中的categories表使用不同的别名。类似的东西:

SELECT prd.product_id, prd.product_name,cat.category_name,subcat.category_name
FROM products AS prd
JOIN categories AS cat ON cat.category_id = prd.product_category1
JOIN categories AS subcat ON subcat.category_id = prd.product_category2