我有三個表在MySQL書籍,betlines,比賽。計數與兩個左連接和where子句
books.bookId=betlines.bookId
betlines.bookId=books.bookId
matches.matchId=betlines.matchId
我想將它們連接起來,爲了看看有多少betlines爲這一特定聯盟都有每本書篩選matches.leagueId = 3。
SELECT name,books.bookId,COUNT(betlines.betlinesId) as total FROM books
LEFT JOIN betlines on books.bookId=betlines.bookId
LEFT JOIN matches on matches.matchId=betlines.matchId
AND matches.leagueId=3
GROUP BY books.bookId;
的AND matches.leagueId = 3不工作,因爲我已閱讀在其他的答案(這隻有一個左連接,也許這就是問題所在),所以該查詢返回的總betlines爲每本書,而不是隻有那些屬於與leagueId = 3匹配的投注線。
我在做什麼錯?
此查詢不顯示,總共有零個值,而正確地過濾了leagueId = 3
SELECT name,books.bookId,COUNT(betlines.betlinesId) as total FROM books,betlines,matches
WHERE matches.matchId=betlines.matchId
AND matches.leagueId=3 AND books.bookId=betlines.bookId
GROUP BY books.bookId;
你從第一次加入的列計數,而不是第二個 – 2014-12-07 16:17:05
把它作爲答案! – arisalexis 2014-12-07 16:21:50