我只是MySql编程的新手,我正在创建一个项目来增强我的技能。 我有一个名为tblRecipe
的表格,其列RecipeId, RecipeName and Instructions
。另一个表格被称为tblIngredients
,其具有列IngredientId,RecipeId, IngredientName
。查询具有不同值的相同列
现在例如,RecipeOne需要IngredientOne和IngredientTwo来制作,RecipeTwo需要IngredientOne,IngredientTwo和IngredientThree来制作。 我的程序会询问IngredientNames的输入信息,所以当我放入IngredientOne和IngredientTwo时,它应该给我结果RecipeOne。
这里是我的代码
Select Recipename,Instructions
from tblREcipe where RecipeId in
(select recipeID
from tblIngredients
where Ingredientname in('IngredientOne','IngredientTWo')
);
我知道IN操作符就像是说符合以下任一。 所以这个代码给了我两个食谱。我正在寻找AND的等价物。 我试过“Ingredientname = ALL(in('IngredientOne','IngredientTwo'))” 但它不返回任何行。
我可以开放任何改变,如重组表格,如果解决了这个问题,因为这只是一个实践项目。希望尽快收到您的来信,并提前感谢您。
谢谢我试过了,它工作。 – user1589687 2012-08-12 07:57:52