我目前正在努力使其发挥作用。
SELECT Y, SUM(N) AS sumDK, NULL AS sumFI, NULL AS sumNO, NULL AS sumSE
FROM stat
WHERE (C = 'Denmark')
GROUP BY Y
UNION ALL
SELECT Y, NULL AS sumDK, SUM(N) AS sumFI, NULL AS sumNO, NULL AS sumSE
FROM stat
WHERE (C = 'Finland')
GROUP BY Y
UNION ALL
SELECT Y, NULL AS sumDK, NULL AS sumFI, SUM(N) AS sumNO, NULL AS sumSE
FROM stat
WHERE (C = 'Norway')
GROUP BY Y
UNION ALL
SELECT Y, NULL AS sumDK, NULL AS sumFI, NULL AS sumNO, SUM(N) AS sumSE
FROM stat
WHERE (C = 'Sweden')
GROUP BY Y
这个查询给了我一个像这样的矩阵:
Y | sumDK | sumFI | sumNO | sumSE
----------------------------------
2011| 25 | NULL | NULL | NULL
2012| 5 | NULL | NULL | NULL
2011| NULL | 18 | NULL |NULL
2012| NULL | 5 | NULL |NULL
......
如何执行仅返回 NOT NULL 字段的查询? 提前致谢!
最佳答案
SELECT Y, C, SUM(N) 'Sum'
FROM stat
WHERE C IN ( 'Denmark', 'Finland', 'Norway', 'Sweden' )
GROUP BY Y, C
关于SQL:在同一个表上组合四个 "where"子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10336969/