2016-10-13 10 views
0

私は店舗システムソフトウェアからこのコードを取得しており、合計行を追加する方法が不思議です。私はデータ分析に移行している全員の前職の会計士です。私は多くのチュートリアルを取ってきていますが、まだ初心者です。たぶんそれは、ここに私のコードだ店のシステムソフトウェアのdatabseは、SQL 2012に基づいています正常に動作し、ただ唯一の最後の列の合計行が必要になります。コードに合計行を追加するには

Select ESTIM.DESCRIP 
     , ESTIM.PARTNO 
     , ESTIM.PRODCODE 
     , ESTIM.QTYONHAND 
     , ESTIM.QTYONORDER 
     , ESTIM.REORDLEVEL 
     , ESTIM.STOCKINGCOST 
     , ESTIM.QTYONHAND * ESTIM.STOCKINGCOST As "Total Item Value in Stock" 
From ESTIM 
Where ((ESTIM.PRODCODE Like [ENTER PRODUCT CODE:])) 
Order By ESTIM.PARTNO; 
+0

これを別の同様のクエリで計算し、元の値に「UNION」としますが、ソート順がランダムであることを覚えておいてください。すべてのレコードに0、合計に1を加えなければなりません。しかし、SSRSやクリスタルなどのレポートジェネレータにとっては、一般に、この種のプレゼンテーションは残された方が良い – ajeh

答えて

0

のうち、すべての合計以上を取得するには、いくつかの方法がありますこのクエリ。どの意志(

SELECT 'TOTAL', NULL, NULL, NULL, NULL, NULL, NULL, SUM(ESTIM.QTYONHAND * ESTIM.STOCKINGCOST) FROM ESTIM WHERE ((ESTIM.PRODCODE Like [ENTER PRODUCT CODE:])); 

あなたは合計を保持しているウィンドウ関数を使用して、新しいフィールドを追加することができます。

は、あなただけの合計で新しい行を取得するために、UNIONクエリを使用することができ、およびNULL他のすべてのフィールドは、

Select ESTIM.DESCRIP 
     , ESTIM.PARTNO 
     , ESTIM.PRODCODE 
     , ESTIM.QTYONHAND 
     , ESTIM.QTYONORDER 
     , ESTIM.REORDLEVEL 
     , ESTIM.STOCKINGCOST 
     , ESTIM.QTYONHAND * ESTIM.STOCKINGCOST As "Total Item Value in Stock" 
     SUM(ESTIM.QTYONHAND * ESTIM.STOCKINGCOST) OVER (PARTITION BY 1) as "Total of Total Item Value" 
From ESTIM 
Where ((ESTIM.PRODCODE Like [ENTER PRODUCT CODE:])) 
Order By ESTIM.PARTNO; 

はあなたにも...多分... GROUP BY <fields> WITH ROLLUPと狡猾得ることができるが、私はそれは、あなたが探しているの出力に複数のレコードを追加すると思います)、行ごとに繰り返されます。

関連する問題