【发布时间】:2018-01-22 09:14:26
【问题描述】:
我正在尝试创建一个食谱搜索,其中可以标记多种成分,然后您可以根据不同的搜索类型获得食谱结果。
假设用户搜索食材,系统会先对食材本身进行验证,并获取搜索到的食材的IDS。因此,成分 ID 然后被传递到下一个查询,这取决于用户用于搜索的搜索类型。当前搜索类型需要匹配与搜索成分 ID 完全匹配的食谱。
下表是与我的食谱相关的成分。
**recipeIngredientList
recipeID | ingredientID
1 | 1
1 | 2
1 | 3
2 | 4
2 | 2
2 | 6
3 | 1
3 | 7
3 | 2
下面是食谱表。
**recipes
recipeID | recipeName
1 | Mac & Cheese
2 | Beef Soup
3 | Cheese Toasty
假设用户搜索奶酪和黄油,然后这些成分 ID 为 1 = 奶酪和 2 = 黄油,那么这两个成分 ID 应该用于从配方表中获取使用这两种成分的食谱。因此,我的结果应该只给我食谱“Mac & cheese”和“Cheese Toasty”。
但是我意识到我什至不确定获得结果的最佳方法是什么,或者 MySQL 语句应该是什么样子。我应该加入表格吗?还是做多选?如果是这样怎么办?
提前感谢您的帮助。
【问题讨论】:
标签: mysql