来自两个不同表的SQLITE查询

时间:2015-02-17 09:09:19

标签: sql sqlite relational-division

我的数据库中有两个表Recipes TableIngredients Table

数据库如下所示:

Recipes Table:
   recipe_id
   recipe_name

Ingredients Table:
   ingredient_id
   recipe_id
   ingredient_name

这些表格由recipe_id连接。

我正在开发的功能允许用户选择最多四种成分,并且将显示包含这些成分的所有配方。

我想要的查询如下:

Get all the recipes that contain ingredients pork, pepper, tomato, salt.

查询应仅返回包含所有成分的配方。

我该怎么做?

编辑:我知道如何加入表,但无法创建一个提供我想要的结果的查询。在这一点上,我正在寻找一个直接的答案,而不是一个关于如何自己做的建议。感谢。

1 个答案:

答案 0 :(得分:1)

尝试类似:

SELECT recipe_id
FROM ingredients
WHERE ingredients_name IN ('pork', 'pepper', 'tomato', 'salt')
GROUP BY recipe_id
HAVING COUNT(distinct ingredients_name) = 4