我是SQL新手,這是我第一次嘗試轉換爲SQL這種語句。SQL語句轉換
查找頻繁,服務於啤酒約翰·史密斯喜歡
的所有酒吧飲用者和我有以下三個表來回答:
FREQUENTS(DRINKER, BAR)
SERVES(BAR, BEER)
LIKES(DRINKER, BEER)
這是我成功的做法:
SELECT DISTINCT F1.DRINKER
FROM FREQUENTS F1
WHERE F1.DRINKER<>'John Smith'
AND F1.DRINKER NOT IN(SELECT F2.DRINKER
FROM FREQUENTS F2
WHERE F2.BAR NOT IN (SELECT S.BAR
FROM SERVES S, LIKES L
WHERE L.DRINKER='John Smith'
AND S.BEER=L.BEER
AND L.DRINKER=F2.DRINKER))
任何人都可以幫助我弄清楚如何f它呢?
你試過運行它嗎?你會得到什麼錯誤? (除了JOINs將會是正確的方法之外,我目前沒有看到沒有錯誤信息的問題......) – ppeterka 2013-02-26 12:51:27
沒有錯誤,只是空表....並且有一個元組應該是顯示,但我只是得到一個空表 – JLA 2013-02-26 12:53:59
您可以請提供樣品表數據和預期的輸出 – 2013-02-26 15:12:58