gpt4 book ai didi

MySQL 'AND' 查询未按预期工作

转载 作者:行者123 更新时间:2023-11-29 04:01:40 25 4
gpt4 key购买 nike

我目前正在处理 3 个表。配方、成分和配方。这是经典的多对多情况,recipeIng 可以解决这个问题。

但是,我无法获得我认为的相当简单的“AND”查询。我想要实现的是一次搜索多种成分。例如:

SELECT r.recipeTitle AS recipe
FROM Recipe r
WHERE recipeID IN(
SELECT r.recipeID
FROM recipeIng il, Ingredient i
WHERE (il.ingredientID = i.ingredientID)
AND (il.recipeID = r.recipeID)
AND (i.ING LIKE '%cheese%' AND i.ING LIKE '%salmon%')

);

查询运行时,它不输出任何内容。我似乎看不出我在这里做错了什么。非常感谢任何帮助。

谢谢。

最佳答案

所以基本上您需要包含您要查询的任何成分的食谱。这可以使用简单的直接连接来执行:

SELECT DISTINCT(r.recipeTitle) AS recipe
FROM Ingredient i
INNER JOIN recipeIng il ON il.ingredientID = i.ingredientID
INNER JOIN Recipe r ON r.recipeID = il.recipeID
WHERE i.ING LIKE '%cheese%' OR i.ING LIKE '%salmon%'

DISTINCT() 确保您不会看到相同的食谱两次,以防它包含两种成分。

如果两种成分都必须出现在食谱中,则必须使用 AND 而不是 OR

关于MySQL 'AND' 查询未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14752972/

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