开发者

T-SQL aggregate function Logical error

Ok I have a data table containing duplicate Reciept numbers and a transaction value for each record, I need to simply list the total for each unique Reciept number, this is obviously a simple problem but I am missing something.

Any help is much appriciated

SELECT Gf_Receipt_number AS Reciept,
       SUM (Gf_Amount) AS Total
  FROM [TestP].[dbo].[Gf]
 WHERE Gf_Receipt_number IS NOT NULL
 GROUP BY Gf_Amount

Would probably help to mention the the error I am recieving is:

Column 'TestP.dbo.Gf.Gf_Receip开发者_开发知识库t_number' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.


You need to group by Gf_Receipt_number instead of Gf_Amount

The GROUP BY clause indicates what columns are being used to distinguish one group of records from another whereas the column used in aggregate functions (such as SUM(Gf_Amount)) determine how the other columns within those records are combined into a single value.


You should probably GROUP BY Gf_Receipt_number instead.


You would want put GF_Receipt_number in your group by to get the error to go away. Group By Refrence

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜