Я создаю запрос на обновление SQL. В этом запросе должны отображаться данные о самых популярных платных поставщиках и сведения о платежах по каждому поставщику за месяц, а также общая сумма платежей для поставщика
VendorTable
Vendor varchar(100)
Month Date
MonthlyAmt int
TotalAmt int
-
Vendor Month MonthlyAmt TotalAmt
Vendor1 Jan-15 $100 NULL
Vendor2 Mar-16 $250 NULL
Vendor3 Sep-16 $300 NULL
Vendor1 Dec-16 $140 NULL
Vendor2 Feb-17 $210 NULL
Vendor1 Apr-17 $400 NULL
Vendor3 Aug-17 $420 NULL
Vendor2 Nov-17 $330 NULL
Vendor2 Mar-18 $110 NULL
Vendor1 May-18 $230 NULL
Пример конечного результата
Vendor Month MonthlyAmt TotalAmt
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
Мое обновление выглядит так, но его обработка занимает очень много времени. Интересно, есть ли гораздо более быстрый способ сделать это?
UPDATE VendorTable
SET TotalAmt = (SELECT SUM(MonthlyAmt) FROM VendorTable B WHERE B.Vendor = A.Vendor)
from VendorTable A