Я пытаюсь получить итоги для каждого местоположения из @SalesTotals, который содержит записи транзакций всех продаж, как показано ниже. Хотя итоги TotalPreTaxSales, TotalNetCheckAmount, TotalTaxAmount рассчитаны правильно, все итоги после этого (содержащие подзапросы) суммируют все значения таблицы, а не только значения для каждого местоположения. Как мне написать это, чтобы получить только итоги по местоположению?
INSERT INTO @CalcTable
(BusinessDate,
Location,
TotalPreTaxSales,
TotalNetCheckAmount,
TotalTaxAmount,
TotalCreditCardSales,
TotalMasterCardCardSales,
TotalVisaCardSales,
TotalDiscoverCardSales,
TotalAmexCardSales,
TotalCashSales,
TotalCashReceived
)
SELECT
@DOB,
LocationID,
SUM(CheckPreTaxAmount),
SUM(NetCheckAmount),
SUM(CheckTaxAmount),
(SELECT SUM(NetCheckAmount) FROM @SalesTotals WHERE TenderCredit = 'MasterCard' OR Tender = 'Visa' OR
Tender = 'Discover' OR Tender = 'AMEX'),
(SELECT SUM(NetCheckAmount) FROM @SalesTotals WHERE TenderCredit = 'MasterCard'),
(SELECT SUM(NetCheckAmount) FROM @SalesTotals where TenderCredit = 'Visa'),
(SELECT SUM(NetCheckAmount) FROM @SalesTotals where TenderCredit = 'Discover'),
(SELECT SUM(NetCheckAmount) FROM @SalesTotals where TenderCredit = 'AMEX'),
(SELECT SUM(NetCheckAmount) FROM @SalesTotals where TenderCash = 1),
(SELECT SUM(CashReceived) FROM @SalesTotals where TenderCash = 1)
FROM @SalesTotals group by LocationId
SELECT * FROM @CalcTable