0

Grouping Sets以前、列内のすべてを合計して総計を得るために使用しました。

しかし、WHERE CLAUSE含まれている列を合計する方法が見つかりませんでした。実際にこれを行う方法があるかどうか疑問に思っていましたGrouping Sets

アップデート

以下は、基本的なクエリの例ですDeleted = 0削除されたトランザクションをGrand Totalに含めたくないためです。しかし、削除されたトランザクションが結果に表示されるようにしたいのです。

SELECT 
  TP.CompanyID, 
  TP.CompanyName, 
  TP.PaidStatus,'
  TP.Credit,
  TP.Debit,
  TP.Outstanding,
  TP.Deleted                           

FROM    
  dbo.Posting TP

GROUP BY
GROUPING SETS(( 
   CompanyID,
   CompanyName,
   PaidStatus,
   Credit,
   Debit,
   OutStanding,
   Deleted),())
4

1 に答える 1

2

以下のように GROUPING SETS で Where 句を使用できます。

それはうまくいくはずです。

SELECT 
  TP.CompanyID, 
  TP.CompanyName, 
  TP.PaidStatus,'
  TP.Credit,
  TP.Debit,
  TP.Outstanding,
  TP.Deleted                           

FROM    
  dbo.Posting TP
WHERE TP.Deleted = 0
GROUP BY
GROUPING SETS(( 
   CompanyID,
   CompanyName,
   PaidStatus,
   Credit,
   Debit,
   OutStanding,
   Deleted),()) 
于 2016-02-04T09:31:36.257 に答える