【发布时间】:2011-05-12 10:41:39
【问题描述】:
这不是家庭作业。我已更改表和字段的名称,仅用于说明目的。我承认我对 MySQL 完全陌生。请在您的回答中考虑到这一点。
说明我需要的查询功能的最好方法是这样的:
我有两张桌子。
一个表与另一个表的关系为 0..1 到 0..n。
为了简单起见,假设这两个表是配方和成分。
成分表中的一个字段引用配方表,但可能为空。
例如:
我想知道类似以下内容的 SQL:有多少食谱需要“1”数量的“橄榄”和“2”数量的“蘑菇”
作为结构化查询语言的新手,我什至不知道该用谷歌搜索什么信息。
我在以下方面是否走在正确的轨道上?:
SELECT COUNT(DISTINCT Recipe.ID) AS Answer FROM Recipe, Ingredient
WHERE Ingredient.RecipeID=Recipe.ID AND Ingredient.Name='Olives'
AND Ingredient.Amount=1 AND Ingredient.Name='Mushrooms'
AND Ingredient.Amount=2
我意识到这是完全错误的,因为名称不能同时是橄榄和蘑菇......但不知道该放什么,因为我需要计算两者的所有食谱,但只计算两者的所有食谱。
如何正确地为 MySQL 编写这样的查询?
【问题讨论】:
标签: sql mysql relational-database