SQL:在同一个表上组合四个 "where"子句

标签 sql ms-access

我目前正在努力使其发挥作用。

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/

相关文章:

用于生成列值的 SQL 语句

sql - 搜索查询中存在多个Where In?

ms-access - 从 Access VBA 中的表中的记录创建查询

sql - 在 SELECT 查询中组合 SQL Server 中的日期和时间

sql - 什么会导致链接服务器返回有限数量的数据?

sql - 表名为表中的 "type"字段

python - PyODBC "Image not found (0) (SQLDriverConnect)"

mysql - 使用多个 WHERE 条件从表中检索多个值

ms-access - 是什么导致 Access 2010 中出现 "The search key was not found in any record"错误?

ms-access - 将日期时间字符串转换为日期