我有一个限制,我只能在任何时候向报告应用程序发送一个结果集,以便为客户生成结束报告。
所以像这样的查询
select
[AGENT],
[TRANSDATE],
[RECIPT NO],
[CUSTOMER NAME],
[ORDER NO] ,
[TRANS NO] ,
QUANTITY,
[AMOUNT COST],
From [Customer] C
但是我需要在底部有很多总计,比如某些列的查询。由于它是一个传统的报告应用程序,我无法对前端进行任何更改。
select
Sum ( QUANTITY ) as [SUM OF QUANTITY] ,
Sum ( AMOUNT COST ) AS [SUM OF AMOUNT COST]
From [Customer] C
显然我简化了我正在使用的查询。那么问题是如何在SQL中将2个结果集设置为一个结果集?
如果您对最终应用中的列使用空白,则 Union
和union all
由于日期列被默认而失败。
Rollup
或Pivoting
或CTE我有点想到但还看不到解决方案。
答案 0 :(得分:2)
窗口函数怎么样?
像...
select
[AGENT],
[TRANSDATE],
[RECIPT NO],
[CUSTOMER NAME],
[ORDER NO] ,
[TRANS NO] ,
QUANTITY,
[AMOUNT COST],
Sum ( QUANTITY ) over () as [SUM OF QUANTITY] ,
Sum ( [AMOUNT COST] ) over () AS [SUM OF AMOUNT COST]
From [Customer] C