SQL查询不是';t显示正确的数据

SQL查询不是';t显示正确的数据,sql,contains,Sql,Contains,我有这张桌子: Recipe = (idR, recipeTitle, prepText, cuisineType, mealType) Ingredient = (idI, ingrDesc) RecipIngr = (idR*, idI*) 我试着展示idR和包含蜂蜜或芥末成分的食谱标题。这是我的问题 select idr, recipetitle from recipe where idr IN (select idr from recpingr where idi = (select

我有这张桌子:

Recipe = (idR, recipeTitle, prepText, cuisineType, mealType)
Ingredient = (idI, ingrDesc)
RecipIngr = (idR*, idI*)
我试着展示idR和包含蜂蜜或芥末成分的食谱标题。这是我的问题

select idr, recipetitle
from recipe
where idr IN (select idr from recpingr where idi =
(select distinct idr from ingredient where ingrdesc like '%honey%'))
INTERSECT
select idr, recipetitle
from recipe
where idr IN (select idr from recpingr where idi =
(select distinct idr from ingredient where ingrdesc like '%mustard%'))
ORDER BY idr;

由于某些原因,这不会显示正确的数据,我不知道我做错了什么。有什么帮助吗?我的查询有问题吗?

类似于此帮助的内容

SELECT r.idr, r.recipetitle
FROM recipe r
INNER JOIN recipingr ring
    ON ring.idr = r.idr
INNER JOIN ingredient ing
    ON ing.idi = ring.idi
WHERE ing.ingrdesc LIKE '%honey%'
OR ingrdesc LIKE '%mustard%'
ORDER BY r.idr

像这样的帮助

SELECT r.idr, r.recipetitle
FROM recipe r
INNER JOIN recipingr ring
    ON ring.idr = r.idr
INNER JOIN ingredient ing
    ON ing.idi = ring.idi
WHERE ing.ingrdesc LIKE '%honey%'
OR ingrdesc LIKE '%mustard%'
ORDER BY r.idr

我认为你设计得太过火了。为什么不这样做:

select idr, recipetitle
from recipe r join recipInbg ri on r.idr = ir.idr
join ingredient i on ri.idI = i.idI
where ingrdesc like '%honey%'
or ingrdesc like '%mustard%'

我认为你设计得太过火了。为什么不这样做:

select idr, recipetitle
from recipe r join recipInbg ri on r.idr = ir.idr
join ingredient i on ri.idI = i.idI
where ingrdesc like '%honey%'
or ingrdesc like '%mustard%'
给你:

select r.idr, r.recipeTitle from recipe r, ingredient i, recipIngr ri
    where r.idR=ri.idR and ri.idI=i.idI and 
    (i.ingrDesc like '%honey%' or i.ingrDesc like '%mustard%')
给你:

select r.idr, r.recipeTitle from recipe r, ingredient i, recipIngr ri
    where r.idR=ri.idR and ri.idI=i.idI and 
    (i.ingrDesc like '%honey%' or i.ingrDesc like '%mustard%')

请向我们展示一些示例数据、查询结果以及为什么要考虑“正确”数据。理想情况下,请向我们展示一些示例数据、查询结果以及为什么要考虑“正确”数据。理想的