SQLLiteデータベースに2つのテーブルがあります。入力した材料で作れる飲み物を取り戻そうとしています。
私はこのクエリを作成して、必要なものを取得しようとしています。
テーブルドリンク
列
drink_id | タイトル| 材料| 道順| 成分数
サンプル行は次のようになります
1 | パパスマーフ| 砕いた青いアイスキャンディー1個、8オンスのクールエイド、4オンスのウォッカ| 道順| 3
テーブルの材料
列
drink_id | 成分
サンプル行は次のようになります
1 | 青いアイスキャンディー
現時点での私のクエリ
これは、私が返したいものの部分的な擬似コードです(これを取得した後、動的にクエリを実行します)。
入力量が飲み物の材料数以上で、入力された材料が飲み物に必要なすべての材料と一致するすべての飲み物を返却したいと思います。
SELECT drinks.title, drinks.ingredients, drinks.directions
FROM drinks, (SELECT count(ingredients._id) as ingredientNumber FROM ingredients
WHERE ingredients.ingredient LIKE '%rum%'
GROUP BY ingredients._id) as foundIngredients
WHERE drinks.ingredientsNum = foundIngredients.ingredientNumber;