gpt4 book ai didi

mysql - 跨多个表的搜索条件

转载 作者:行者123 更新时间:2023-11-29 00:50:52 24 4
gpt4 key购买 nike

所以我有以下表格:

  • 搜索:id、query
  • 成分:id,名称
  • IngredientsRecipes:IngredientId、RecipeId
  • 食谱:id、内容、UserId、createdAt

我想做的是搜索含有特定成分的食谱。

如果我的搜索查询是“(cheese AND potato) OR pasta”,那应该会返回所有包含意大利面或同时含有奶酪和土 bean 作为原料的食谱。

我将如何着手实现这样的事情?

注意:这并不是搜索查询的实际样子。我还没有决定如何解决这个问题。

我不确定该用什么作为这个问题的标题;我欢迎任何关于更合适标题的建议。

最佳答案

您只需要 IngredientsRecipes 表。它包含所有相关信息。

例如给定一组成分来查找一组食谱:

select ir1.recipe_id from
IngredientsRecipes ir1 inner join
IngredientsRecipes ir2 on ir1.recipe_id = ir2.recipe_id
...
IngredientsRecipes irN on ir1.recipe_id = irN.recipe_id

where
ir1.ingredient_id = 5 and
ir2.ingredient_id = 121 and
...
irN.ingredient_id = 80;

如果您想一次性执行多个查询(因为 OR),那么我建议在单独的查询之间简单地使用 UNION(因为毕竟它们确实是单独的查询)。

关于mysql - 跨多个表的搜索条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8607402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com