SELECT 
    Recipes.RecipeID, Recipes.RecipeTitle
FROM 
    Recipes 
INNER JOIN
    Recipe_Ingredients ON Recipes.RecipeID = Recipe_Ingredients.RecipeID 
INNER JOIN
    Ingredients ON Ingredients.IngredientID = Recipe_Ingredients.IngredientID
WHERE 
   (Ingredients.IngredientName = 'Beef') 
   AND (Ingredients.IngredientName = 'Garlic')

此SQL查询不返回任何内容。 但是,当我单独/单独检查条件时,没有将它们与AND放在一起时,他们想出了一个叫“烤牛肉”的食谱,实际上含有牛肉和大蒜。 因此,它不应该在结果中显示为1行。 但是它什么也没显示。 为什么?

#1楼 票数:4

它返回NULL ,因为一个成分不必同时命名。 您似乎想要:

SELECT r.RecipeID, r.RecipeTitle
FROM Recipes r INNER JOIN
     Recipe_Ingredients ri
     ON r.RecipeID = ri.RecipeID INNER JOIN
     Ingredients i
     ON i.IngredientID = ri.IngredientID
WHERE i.IngredientName IN ('Beef', 'Garlic')
GROUP BY r.RecipeID, r.RecipeTitle
HAVING COUNT(DISTINCT i.IngredientName) = 2;

#2楼 票数:0

AND在行级别运行。 对于同一行,IngredientName不能同时是'Beef'和'Garlic'。 您可能需要重新加入配料。

#3楼 票数:0

如果要为同一列选择2个条件,则不能在同一列中使用AND运算符。

SELECT Recipes.RecipeID, Recipes.RecipeTitle
FROM Recipes INNER JOIN
Recipe_Ingredients ON Recipes.RecipeID = Recipe_Ingredients.RecipeID 
INNER JOIN
Ingredients ON Ingredients.IngredientID = Recipe_Ingredients.IngredientID
WHERE (Ingredients.IngredientName in ('Beef' , 'Garlic') ) 

  ask by Nikhila Bakurupanda translate from so

未解决问题?本站智能推荐:

1回复

SQL如果是admin,则返回所有行,否则返回用户记录

使用SQL DataSource时 ,我想返回实质上与当前登录用户绑定的记录。 我可以的,可以。 但是,当该登录用户在用户表中被标记为“ ADMIN”时,我想返回所有行。 领域 : ASP.net页发送@databaseid SQL Server仅为@database
3回复

如何在选择的地方返回2行?

这是问题所在...我有这些表: 我想做的是从crsstu和表中选择一个注册号(regnum),我想查看他尚未注册的课程。 示例:如果我选择regnum 11131,那么它必须返回sql,或者使用11132,它返回c ++。 我到现在为止: 但是它向我显示了1242错误(子
1回复

返回没有内连接匹配的 LINE

我试图将代码的第一部分放在一起声明。 但是当我想加入第二个语句时,它不返回值,如果没有加入,我要求第二个语句为 0。 代码的第二部分在这里我在查询 b 下设置 我试图了解所有不同的连接,甚至尝试使用 is null, if 和 coalesce 都无济于事。
1回复

从 sql select 返回过滤结果

对于上下文,这是一个可由最终用户调用的搜索,他们将提供逗号分隔的字符串,其中包含要搜索的表 3 ID 和要搜索的表 2 文本值。 我想执行一个选择查询,它只会从 CTE 返回匹配结果,其中 fieldValuePairTable 中的所有值都匹配。 目前它返回任何匹配项。 例如; CTE 的
4回复

SQL WHERE和AND不返回值

我有3张桌子: 新闻( ArticleID ,Title,ArticleImage) 类别( EntryID , ArticleID , CategoryID ,CategoryName) CategoryList( CategoryID ,CategoryName)
4回复

INNER JOIN返回的结果太多

我有以下SQL: 它返回: 而不只是两个记录,这些记录分别是“ home”和“ car”。 我该如何解决? 谢谢。
2回复

FULL OUTER JOIN 不返回所有表的内容

我有 3 个表,如下所述。 表 漏洞 关联 测试 要求 然而,这并没有提供预期的结果...... 预期结果 如果有链接,我想获取有关错误和测试的信息 如果有没有链接的错误,我想获取有关该错误的信息 如果有没有链接的测试,我想获取有关测试的信息 结果 结论 FULL