我有一張桌子,裏面填充了用戶寫的品酒筆記,另一張桌子上還有其他用戶給每個品酒筆記的評分。mySQL帶回結果它不應該
,它提出了由您還沒有評分看起來像這樣其他用戶寫入的所有票據查詢:
SELECT tastingNotes.userID, tastingNotes.beerID, tastingNotes.noteID, tastingNotes.note, COALESCE(sum(tasteNoteRate.Score), 0) as count,
CASE
WHEN tasteNoteRate.userVoting = 1162 THEN 1
ELSE 0
END AS userScored
FROM tastingNotes
left join tasteNoteRate on tastingNotes.noteID = tasteNoteRate.noteID
WHERE tastingNotes.userID != 1162
Group BY tastingNotes.noteID
HAVING userScored < 1
ORDER BY count, userScored
用戶1162寫了張便條做筆記113在tasteNoteRate表就說明起來就是:
noteID | userVoting | score
113 1162 0
,但它仍然是返回上述各運行查詢時....
請仔細閱讀關於使用SQL92兼容的'GROUP BY' – Kermit
我究竟應該在那裏尋找什麼@Kermit – Mike
我認爲它也可能對您嘗試實現以及嘗試的解釋有用這不符合你的期望。這種特定的方法可能完全被誤導,並且可能有一種更簡單的方法來做你正在嘗試做的事情。 – moreON