获取客户销售员代码开具的总金额

时间:2013-09-19 16:12:08

标签: sql aggregate-functions

如果给出以下查询,如何Amount Salesperson CodeCustomer开具SELECT l.[Customer No_], c.[Name], l.[Amount], c.[Salesperson Code], l.[Posting Date] FROM [Service Invoice Line] l join [Customer] c on l.[Customer No_] = c.[No_] Where l.[Posting date] >= '10-01-2012' and c.[Salesperson Code] > '' Group by l.[Customer No_],c.[Name],c.[Salesperson Code],l.[Amount],l.[Posting Date] Order by l.[Customer No_] 个发票?

{{1}}

1 个答案:

答案 0 :(得分:0)

我不是母语为英语的人,所以忍受我,我不太确定,是什么

  

由销售员代码按客户开具发票

表示(考虑您的列名称),因此我简化了您的示例查询(至于我如何理解)

由于您希望获得金额总和,请不要对其进行分组,请将其从group by子句中删除。将sum()函数应用于amount列。

使用group by子句,您基本上会折叠行组。但是您的数据库需要知道要为折叠组显示哪些行。因此,对于select子句中的每个列,可以对其应用聚合函数,也可以在group by子句中指定列。您的要求的一个例子是

SELECT  l.[Customer No_], c.[Name], c.[Salesperson Code], SUM(l.[Amount])
FROM    [Service Invoice Line] l join [Customer] c on 
        l.[Customer No_] = c.[No_]
Where   l.[Posting date] >= '10-01-2012'
        and c.[Salesperson Code] > ''
Group by l.[Customer No_], c.[Name], c.[Salesperson Code]

这将为您提供每个customer_no / customer_name(假设customer_no不能有多个customer_names)和每个salesperson_code(假设每个客户有一个或多个销售人员)的金额总和。

这是你想要的吗?