【发布时间】:2009-08-31 12:56:23
【问题描述】:
这是一个非常重要的 sql 查询,我的整个网站都以此为基础..
它不工作..
没有例子很难解释..
有 2 个表,一个是 IngredientsTable,另一个是 ProductsTable。
在 IngredentsTable 我有以下内容
- 面包
- 鸡胸肉
- 面条
- 蛋黄酱
- 奶酪
- 番茄酱
- 黄油
还有ProductsTable
- Spageti
- 鸡胸肉三明治
还有一个连接两个表的映射表。它有 IngredientID 和 ProductID
现在,映射表 鸡胸肉三明治 - 面包
鸡胸肉三明治 - 蛋黄酱
鸡胸肉三明治 - 奶酪
鸡胸肉三明治 - 番茄酱
Spageti --- 面条
意大利面——奶酪
Spageti --- 番茄酱
你会注意到 Cheese 和 Ketchup 是 Chicken Breast 和 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
我收到错误 "," 语法.. 甚至 "and" 也没有得到结果。
如何检查多个成分,例如 WHERE MappingTable.IngredientID = 5,6,7;
非常感谢任何帮助!!!
我需要在一个查询中拥有这个..
请告诉我选项
【问题讨论】:
标签: sql inner-join