2012-01-30 131 views
2

我想解決這個問題很長一段時間,輸出是錯誤的。誰能幫我這個?我正在使用mysql,所以完全連接不起作用。謝謝yyou加入3個表SQL

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

這是功課嗎? – 2012-01-30 06:51:46

+0

您能提供樣品輸入和預期輸出嗎? – 2012-01-30 10:12:32

+0

@ypercube:很好的編輯。我不確定我是否知道'關係分割'標籤! – onedaywhen 2012-01-30 13:13:47

回答

0

這個怎麼樣:

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

如果它不起作用,你可以發佈一些你的數據的例子嗎?