我试图从这里解决问题13:http://sqlzoo.net/wiki/The_JOIN_operation其中我应该“列出每个匹配与每个团队得分的目标 ”。我认为这将是答案:为什么我的SQL查询返回没有行,总和为0
SELECT
mdate, team1,
SUM(CASE WHEN teamid = team1 THEN 1 ELSE 0 END) score1,
team2,
SUM(CASE WHEN teamid=team2 THEN 1 ELSE 0 END) score2
FROM
game
JOIN
goal ON matchid = id
GROUP BY
team1, team2, mdate
ORDER BY
mdate
然而,这查询不返回行,如果两队得分为0。我试图在ISNULL
和COALESCE
包裹SUM
,但它并不能帮助。
要告诉你真相,我并不是在寻找如何解决问题的答案,而是解释为什么当分数为0时,此查询未显示行的答案。此外,如果有人可以帮我找到0 column_name
或1 column_name
背后的含义(因为它似乎是CASE
以上的结果),它似乎是0 * column_name或1 * column_name,但我不确定,并且谷歌充满当我试图寻找答案时,无关的结果。
PS:是的,我看过具有相同或类似名称的前20分建议的堆栈溢出的问题,我很抱歉,如果这是一个重复的