私はMySqlプログラミングに不慣れで、私のスキルを高めるためのプロジェクトを作成しています。tblRecipe
列を持つというテーブルがありますRecipeId, RecipeName and Instructions
。tblIngredients
列を持つもう1つのテーブルが呼び出されます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'))」を試しましたが、行が返されません。
これは単なる練習プロジェクトであるため、問題が解決した場合は、テーブルの再構築などの変更を受け入れることができます。お早めにご連絡いただき、よろしくお願いいたします。