Спасибо всем за отзыв / помощь, по крайней мере, это заставило меня задуматься о разных подходах. Я придумал что-то, что не зависит от того, какую версию SQL Server я использую (наш поставщик часто меняет версии, поэтому я должен быть максимально совместимым).
Это может считаться взломом (хорошо, это взлом), но это работает, и оно выполняет свою работу:
SELECT company
, product
, price
FROM companyMaster
ORDER BY company,
, product,
, price
UNION
SELECT company + 'Total'
, ''
, SUM(price)
FROM companyMaster
GROUP BY company
ORDER BY company;
Это решение в основном использует СОЮЗ двух операторов выбора. Первый точно так же, как оригинал, второй производит строку суммы, мне нужно. Чтобы правильно найти строку суммы, я выполнил конкатенацию строки с названием компании (добавив слово «Всего»), чтобы при сортировке в алфавитном порядке по названию компании строка «Итого» отображалась внизу каждого раздела компании ,
Вот как выглядит итоговый отчет (не совсем то, что я хотел, но функционально эквивалентный, просто не очень красивый на вид:
CompanyA Product 7 14.99
CompanyA Product 3 45.95
CompanyA Product 4 12.00
CompanyA Total 72.94
CompanyB Product 3 45.95
CompanyB Total 45.95
CompanyC Product 7 14.99
CompanyC Product 3 45.95
CompanyC Total 60.94