我被困在实现这个 MySQL 查询的最佳方法上。
我有三张桌子:
产品- 这是产品列表
id | product_name
猫- 这是一个类别列表
id | category_name
cat_selected - 可以将多个类别分配给一个产品,此表列出了它们
cat_id | product_id
在搜索中,用户可以一次选择多个类别进行搜索。我想检查每个类别中是否存在一个产品,所以它需要匹配 cat_id 和 product_id。猫 ID 作为数组发布。
查询此数据的最佳方法是什么?
例如,由于明显的原因,以下内容不起作用:
SELECT *
FROM products
JOIN cats_selected
ON cats_selected.product_id = products.id
AND cats_selected.cat_id = '16372'
AND cats_selected.cat_id = '9'