sql server 结果合并 union all

(SELECT SUM([金额(美金)]) AS [月金额]
FROM Source
WHERE (月份 = 1) AND (当前状态 = N'已发报告')
union all
SELECT SUM([金额(美金)])
FROM Source
WHERE (月份 = 2) AND (当前状态 = N'已发报告')
union all
..................................
union all
SELECT SUM([金额(美金)])
FROM Source
WHERE (月份 = 12) AND (当前状态 = N'已发报告')
)
union all
(SELECT SUM([金额(美金)]) AS [常规检验金额]
FROM Source
WHERE (月份 = 1 AND 当前状态 = N'已发报告') and (检验类型 = N'PSI' or 检验类型 = N'DPI' or 检验类型 = N'PPI')
union all
.................................................................
union all
SELECT SUM([金额(美金)])
FROM Source
WHERE (月份 = 12 AND 当前状态 = N'已发报告') and (检验类型 = N'PSI' or 检验类型 = N'DPI' or 检验类型 = N'PPI')
)
获取结果如下:

我想要的结果如下:

求数据库大神指条明路。

第1个回答  2014-07-27
没看明白,你到底几个union all,还有就是你最换打个简单点的比方追问

有两组数据,一组是“月金额”,12条数据用 union all连接
一组是“常规检验金额”,12条数据用 union all连接
两组数据之间也是用union all连接,但得不到想要的结果

追答

你要得到你想要的结果,你要把两组数据对应起来,比如月金额38855.125和常规检验金额23591.125这两条数据是不是都对应同一个ID,要不没法关联起来放到同一条记录里面

相似回答