我有两张桌子
产品
id
code
description
category
subcategory
产品类别
id
category_name
category_master
产品表中的数据
1, UK001, Description Text, 1, 2
产品类别表中的数据
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
我还想返回子类别,添加另一个连接不起作用,这就是我陷入困境的地方,
最佳答案
你只需要两个:
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;
还要注意表别名的使用。这些使查询更易于编写和读取。
关于mysql - MySQL JOIN两次查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36068146/