我需要得到所有的食谱,所有的配料都在另一张桌子上,我不知道我怎么能做到这一点。
“配料”表(来自配方):
'UserIngredients'表(来自用户):
现在我只想拿回配方id 13,因为这个配方只需要“黄油”和“梅尔”。我不想得到的是同样需要“黄油”和“Mehl”的食谱,但也需要其他东西,因为这不在用户配料表中。
现在我需要一个查询(我想是一个内部连接)来获取包含其他表中所有成分的配方(ID)。我希望你能理解我的问题并能帮助我。非常感谢!
你需要一个LEFT
连接成分
到用户成分
,然后组的累赘
:
select i.recipeid
from ingredients i left join useringredients ui
on ui.ingredient = i.ingredient
group by i.recipeid
having count(*) = count(ui.ingredient)
条件具有Count(*)=Count(ui.ingredient)
确保所有的成分和没有更多的被用于该累赘