这是一个非常重要的 sql 查询,我的整个网站都基于它。
它不工作..
没有例子很难解释..
有 2 个表,一个是成分表,另一个是产品表。
在IngredentsTable我有以下
- 面包
- 鸡胸肉
- 面条
- 蛋黄酱
- 起司
- 番茄酱
- 黄油
和ProductsTable
- 斯帕蒂
- 鸡胸肉三明治
并且有一个连接两个表的映射表。它有 IngredientID 和 ProductID
现在,映射表 鸡胸肉三明治 - 面包
鸡胸肉三明治 - 蛋黄酱
鸡胸肉三明治 - 奶酪
鸡胸肉三明治 - 番茄酱
Spageti --- 面条
Spageti --- 奶酪
Spageti --- 番茄酱
你会注意到奶酪和番茄酱是鸡胸肉和意大利面的常见条目
我想编写一个 sql 查询来获取具有指定成分的产品的 ID。
我可以通过以下查询部分实现它
SELECT
ProductTable.id,
ProductTable.Name
FROM ProductTable
INNER JOIN MappingTable
ON ProductTable.id = MappingTable.ProductID
WHERE MappingTable.IngredientID = 5;
假设 5 是奶酪,我成功地获得了鸡胸肉三明治和意大利面的结果
但如果我再添加一个, WHERE MappingTable.IngredientID = 5,6; 6 是面包,它应该只给我看一个鸡胸肉三明治而不是 Spageti
我收到错误“,”语法..甚至“和”也没有得到结果。
如何检查多个成分,例如WHERE MappingTable.IngredientID = 5,6,7;
任何帮助是极大的赞赏!!!
我需要在一个查询中拥有这个..
请告诉我选项