0

顧客の最終レポートを作成するために、一度に1つの結果セットのみをレポートアプリケーションに送信できるという制限があります。

したがって、このようなクエリ

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つの結果セットを1つの結果セットにする方法です。

Unionエンドアプリケーションの列に空白を使用するとunion all、日付列がデフォルトになるため失敗しました。

RollupまたはPivotingまたはCTEちょっと考えましたが、まだ解決策がわかりません。

4

1 に答える 1

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 
于 2013-02-22T12:53:47.507 に答える