我需要比較來自按ID分組的不同客戶端的兩個表的最終餘額。這些表具有相同的ID但是其中一個具有多個ID條目,另一個不具有。我需要從表格中總結出多條記錄,所以我只有一個最終數字來進行計算。什麼是在視圖的結果集中返回非聚集列的聚集列的最佳方式
表1:
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
表2:
ID, cost
1, 200
2, 300
結果爲ID 1,將310相比,200表2用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
查詢必須在結果集中顯示多個列,因爲它將用於報告。我嘗試在結果集中的所有列進行分組,但這給了我錯誤的結果。還有另一種計算需要總結的列的方法嗎?
是您的問題實際上兩者的SQL Server 2008 *和* MySQL的?後者似乎不相關。 –