我正在尝试设计一个饮料数据库,需要一些设计方面的帮助。
我创建了以下表格:一个成分表,列出了所有可能的成分(即朗姆酒、可乐、伏特加和橙汁)。一张饮料表,其中列出了所有可能的饮料(即“朗姆酒和可乐”、“ Screwdriver ”)。最后,一个食谱表描述了如何制作饮料,因此对于“朗姆酒和可乐”,有两个整体,一个是朗姆酒的成分 ID,一个是可乐的成分 ID,两者都具有指向同一饮料 ID 的外键。
我想做的是给出可用成分 id 的列表 - 1(朗姆酒)、2(可乐)和 3(伏特加)我想列出可以制作的饮料。所以我可以制作朗姆酒和可乐,但不能制作 Screwdriver ,因为我没有橙汁。
关于如何编写这样的选择语句或如何更好地设计表有什么建议吗?
谢谢
最佳答案
SELECT *
FROM (
SELECT coktail_id,count(ingredient_id) as nb_ingredient
FROM coktail_ingredient
WHERE ingredient_id IN (1,2,3) --where 1 is rhum , 2 is vodka and 3 is coke
group by coktail_id
)
where nb_ingredient = 3--3 for the number of ingredient you need
是我使用的技术。
关于sql - 饮料数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8636456/