我有两张桌子
产品
id
code
description
category
subcategory
product_categorys
id
category_name
category_master
产品表格中的数据
1, UK001, Description Text, 1, 2
product_category 表中的数据
1, Network Cable, 0
2, CAT6, 1
我想查找产品并返回类别和子类别我已经研究了最好的方法来做这件事但是我已经设法使用以下方法返回一个查找。
SELECT products.product_code, products.description, product_category.category_name, product_category.category_name
FROM products
LEFT JOIN product_category ON product_category.id = products.category AND product_category.ID = products.subcategory
ORDER BY description ASC
按预期返回
UK001, Description Text, Network Cables
我也想要返回子类别,添加另一个连接不起作用,这就是我被困住的地方,
答案 0 :(得分:3)
您只需要两个join
s:
SELECT p.product_code, p.description, pc.category_name, pcs.category_name
FROM products p LEFT JOIN
product_category pc
ON pc.id = p.category LEFT JOIN
product_category pcs
ON pcs.ID = p.subcategory
ORDER BY description ASC;
还要注意表别名的使用。这些使查询更容易编写和阅读。