恐怕我问错题目了。。。
数据库中有两个表,它们与这个问题有关
产品
产品id
名称
等。
类别
身份证件
产品id
类别\u id
我需要创建两个查询。
一个获得产品id product_category = 1
以及 product_category = 2
以及 product_category = 3
[...].
第二个是 products id
那些有 product_category = 1
或者 product_category = 2
或者 product_category = 3
[...]
我已经尝试了我所学到的一切,但没有效果,我应该使用什么样的查询?
编辑:
下面是一些示例行和预期结果
产品
ID | Name
------------
1 | Prod_3
------------
2 | Prod_4
------------
3 | Prod_5
------------
4 | Prod_6
类别
ID | ProductID | CategoryID
----------------------------
1 | 1 | 101
----------------------------
2 | 1 | 102
----------------------------
3 | 1 | 103
----------------------------
4 | 2 | 102
----------------------------
5 | 2 | 103
----------------------------
6 | 2 | 108
----------------------------
7 | 3 | 121
----------------------------
8 | 3 | 111
我要选择 Name
从 Products
table。这个产品应该在 Categories
表,并具有特定的 CategoryID
例1:
Select `ID`, `Name` From `Products`
WHERE IN `Categories`.`ProductID` = `Products`.`ID`
AND (`Categories`.`CategoryID` = 103 AND `Categories`.`CategoryID` = 102)
这将导致:
ID | Name
------------
1 | Prod_3
------------
2 | Prod_4
例2:
Select `ID`, `Name` From `Products`
WHERE IN `Categories`.`ProductID` = `Products`.`ID`
AND (`Categories`.`CategoryID` = 108 OR `Categories`.`CategoryID` = 121)
这将导致:
ID | Name
------------
2 | Prod_4
------------
3 | Prod_5
3条答案
按热度按时间slwdgvem1#
听起来你需要这样的东西:
t1rydlwq2#
我最终得到了:
yshpjwxd3#
你可以用
group by
以及having
要获取包含所有类别的产品: