SQL Query每月特定产品的每日销售额

时间:2016-10-04 02:38:43

标签: sql sql-server ssms

我有一个查询,其中列出了当天购买该产品的客户列表

select Customer.customerName, sum(InvoiceDetail.itemPrice * InvoiceDetail.itemQuantity) as dailyPurchase from Invoice
inner join InvoiceDetail on Invoice.invoiceID = InvoiceDetail.invoiceID
inner join Customer on Invoice.customerID = Customer.customerID
inner join Item on InvoiceDetail.itemID = Item.itemID
inner join Branch on Branch.branchID = Invoice.branchID
inner join Region on Region.regionID = Branch.regionID
where 
Invoice.inactive = 0 and InvoiceDetail.inactive = 0
and Item.itemTypeID = 3
and Region.regionCode = 'CR'
and cast(Invoice.invoiceDate as date) = convert(date, '01/08/2016', 103)
group by Customer.customerName

我需要的是一张表格,其中列出了当月所有日期,列出了至少购买过该产品的所有客户。它应该类似于similar to this image here

非常感谢任何关于如何开始的帮助或关于如何获得所需结果的一般概念。谢谢!

结果中的示例数据

customerName                dailyPurchase
AGH COMMUNICATIONS          450.00
ARIEL AMARCORD SHOP         285.00
AKN COMMUNICATION           300.00
AWSDAC TELECOMMUNICATION    2850.00
BARLEY MOBILE & SERVICES    285.00

Table Structure - 对不起,我不知道如何更轻松地复制此内容。

1 个答案:

答案 0 :(得分:0)

首先获得本月至少购买过该产品的客户以及日期。 然后使用pivot以您想要的形式获得结果(如图所示)。在sql server中搜索pivotoverflow for pivot,你会得到很好的信息。

提供有关表结构和示例数据的一些信息,我或许可以帮助您查询以获得结果。