SQL结果集合并

时间:2013-02-22 11:27:18

标签: sql sql-server

我有一个限制,我只能在任何时候向报告应用程序发送一个结果集,以便为客户生成结束报告。

所以像这样的查询

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个结果集设置为一个结果集?

如果您对最终应用中的列使用空白,则

Unionunion all由于日期列被默认而失败。

RollupPivoting或CTE我有点想到但还看不到解决方案。

1 个答案:

答案 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