我试图解决这个问题已经有一段时间了,结果是错误的。有人能帮我吗?我正在使用mysql,所以完全连接不起作用。谢谢你
3张桌子:

Frequents (attributes: drinker, bar, times_a_week),
Likes (attributes: drinker, beer),
Serves (attributes: bar, beer, price),

这个问题问的是那些经常在“每家”酒吧提供他们喜欢的啤酒的所有饮酒者
我的回答是这样的:
SELECT drinker
FROM frequents
WHERE drinker NOT IN (SELECT f.drinker FROM frequents f
                  JOIN likes l ON f.drinker=l.drinker
                  LEFT JOIN serves s ON l.beer=s.beer
                  AND s.bar=f.bar
                  WHERE s.bar IS NULL)

最佳答案

这个怎么样:

select *
from Frequents
where bar in (select bar from Serves  S join Likes  L on S.beer=l.beer)

如果它不起作用,你能发布一些你的数据的例子吗?

10-06 00:42