mysql查询问题,在返回多行时查找单行

时间:2016-07-11 05:03:56

标签: php mysql

我正在开发一个有特定要求的项目。我面临着sql查询的问题。我需要为具有特定类别(多个)的产品找到单个行。它应该只返回产品的一个产品ID。请参见下图。

表格图片

enter image description here

根据此表,产品ID 1和2分配给类别3,4和6.我们需要创建sql,它可以找到一个或多个分配了特定类别的产品(如1和3,4) ,6类协会)。类别父关系来自另一个表。它有4级层次结构。请帮忙。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了问题,那就是它的多对多关系表。所以查询应该如下所示:

select * from product p inner join product_category pc on p.id = pc.product_id inner join category c on pc.category_id = c.id where c.id = 3 AND c.id = 4 AND c.id = 6