2011-09-28 2 views
1

Я использую накопитель для суммирования таблицы, содержащей поля company, sales, cost и margin. Это дает мне обобщенные столбцы, но мне нужно показать суммарную долю маржи в процентах от продаж для каждой сводки компании.Процентная колонка MS SQL rollup

Это мое текущее заявление:

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; 

Делай, как говорит Мартин и добавить его в качестве дополнительного поля на Ваше заявление, как показано выше.

Смежные вопросы