Мне нужно сравнить итоговые остатки двух таблиц от разных клиентов, сгруппированных по ID. Таблицы имеют одинаковые идентификаторы, но одна имеет несколько записей идентификаторов, а другая - нет. Мне нужно сложить строку из таблицы с несколькими записями, поэтому у меня есть только одно окончательное число для расчетов.
Table1:
ID, cost, traceNumber, TheDate
1, 200, 1001, 10/07/2011
1, -20, 1002, 10/08/2011
1, 130, 1003, 10/10/2011
2, 300, 1005, 10/10/2011
Table2:
ID, cost
1, 200
2, 300
Результат для ID 1 будет равен 310 по сравнению с таблицей 2 из 200 с разницей в 110
Запрос будет выглядеть примерно так.
SELECT DISTINCT
Table1.ID,
Table1.TheDate ,
Table1.traceNumber,
Table1.[cost] AS Frost_Balance,
SUM(Table1.[cost]) AS SUM_Frost_Balance,
Table2.[cost] AS Ternean_Balance,
SUM(Table1.[cost]) - Table2.[cost] AS Ending_Balance,
FROM
Table1
INNER JOIN Table2 ON Table1.ID =Table2.CustomerID
GROUP BY
dbo.Frost.ID
Запрос должен отображать несколько столбцов в наборе результатов, поскольку он будет использоваться для составления отчета. Я попытался сгруппировать по всем столбцам в наборе результатов, но это дало мне неправильные результаты. Есть ли другой способ вычислить столбец, который нужно суммировать?