加入3个表SQL

时间:2012-01-30 06:32:18

标签: mysql sql sql-match-all relational-division

我试图在很长一段时间内解决这个问题并且输出错误。谁能帮我这个?我正在使用mysql,所以完全加入不起作用。谢谢yyou

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)

1 个答案:

答案 0 :(得分:0)

怎么样:

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

如果它不起作用,您可以发布一些数据示例吗?