我一直在研究SQLzoo問題,但在JOIN教程問題#13中最後一個問題上遇到了問題 - 列出每個比賽的每個球隊得分,如圖所示。SQLzoo JOIN教程#13
鏈接:http://sqlzoo.net/wiki/The_JOIN_operation
在他們給的示例代碼,它使用的情況。我修改了它這樣的:
SELECT game.mdate, game.team1,
CASE WHEN goal.teamid=game.team1 THEN 1 ELSE 0 END score1, game.team2,
CASE WHEN goal.teamid=game.team2 THEN 1 ELSE 0 END score2
FROM game, goal WHERE game.id=goal.matchid
GROUP BY game.mdate, goal.matchid, game.team1, game.team2
他們建議使用在score1/score2一個SUM函數將提供答案。我很困惑如何在SQL中創建的這兩列上使用SUM函數。
任何人都可以提供關於如何做或提到廣義的術語如何以更好的方式寫這個SQL查詢提示?
啊得到了它。我在整個CASE語句上做了SUM函數,包括我正在創建的列......愚蠢的我。我會按照你的寫作查詢建議以易於閱讀的方式:) – Paul 2013-03-15 18:57:24
內連接在沒有進球的犯規照顧的情況。所以查詢給出了錯誤的結果。使用左連接給出正確的結果。 – 2014-01-04 04:38:33