Хорошо, откажитесь от моего предыдущего ответа, я не понял, что таблица, которую вы показали в своем сообщении, была результатом, а не исходными данными.Это означает, что вам нужно использовать оконную функцию для решения вашей проблемы:
with samplevalues as
(
select
*
from
(values
('Vendor1', 'Jan-15', 100, 870),
('Vendor2', 'Mar-16', 250, 900),
('Vendor3', 'Sep-16', 300, 720),
('Vendor1', 'Dec-16', 140, 870),
('Vendor2', 'Feb-17', 210, 900),
('Vendor1', 'Apr-17', 400, 870),
('Vendor3', 'Aug-17', 420, 900),
('Vendor2', 'Nov-17', 330, 900),
('Vendor2', 'Mar-18', 110, 900),
('Vendor1', 'May-18 ', 230, $870)
) T(Vendor, [Month], MonthlyAmt, TotalAmt)
)
select
Vendor, [Month], SUM(MonthlyAmt) OVER (PARTITION BY Vendor)
from
samplevalues
, которая должна делать именно то, что вам нужно.
Дополнительная информация или предложение OVER здесь:
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-over-clause-transact-sql?view=sql-server-2017