我有一个查询,其中列出了当天购买该产品的客户列表
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 - 对不起,我不知道如何更轻松地复制此内容。
答案 0 :(得分:0)
首先获得本月至少购买过该产品的客户以及日期。 然后使用pivot以您想要的形式获得结果(如图所示)。在sql server中搜索pivotoverflow for pivot,你会得到很好的信息。
提供有关表结构和示例数据的一些信息,我或许可以帮助您查询以获得结果。