2011-09-28 8 views
1

ロールアップを使用して、フィールドcompany,sales,costおよびmarginを含むテーブルを合計します。これは私に要約された列を与えますが、私はマージンの要約されたパーセンテージを各企業サマリの売上のパーセンテージとして表示する必要があります。MS SQLのロールアップ率の列

SELECT coalesce(CAST(Company AS VARCHAR(30)), 'Grand Total:') AS Company, 
     SUM(Sales)            AS 'TOTSALES', 
     SUM(CostVal)           AS 'TOTCOST', 
     SUM(MarginVal)           AS 'TOTMAR' 
FROM DailySalesSum 
GROUP BY Company WITH ROLLUP; 
+4

'100.0 * SUM(MarginVal)/ SUM(Sales)'または別のものが必要ですか? –

+0

それは私が必要とするものです。場所はどこに行くのですか – blackbird

+0

選択リストに追加してください –

答えて

0
SELECT coalesce(CAST(Company AS VARCHAR(30)), 'Grand Total:') AS Company, 
     SUM(Sales)            AS 'TOTSALES', 
     SUM(CostVal)           AS 'TOTCOST', 
     SUM(MarginVal)           AS 'TOTMAR', 
     100.0 * SUM(MarginVal)/SUM(Sales)     AS 'MARGINPERCENT' 
FROM DailySalesSum 
GROUP BY Company WITH ROLLUP; 

マーティンが言うように行うと、上記のように、あなたの文に余分なフィールドとして追加:

これが私の現在の文です。