SQL查询(存储过程)获取销售数据的月度趋势:透视表

时间:2016-02-28 21:27:29

标签: sql-server stored-procedures pivot-table trend

我正试图从下表中获得月度明智的销售数据趋势。

VendorTrading

Id   TradeDate
1    2015-11-25
2    2015-12-10

第二张表CustomerProduct

VendorTradeId ProductName ProductQuantity
1             ABC         5
1             XYZ         0
1             QWE         3
2             ABC         2
2             XYZ         4
2             QWE         6

我想要实现的目标是:

Product Jan-15 Feb-15 Mar-15 April-15 May-15 June-15 . . . 
ABC     ###    ####   ###    ####     ####    ###
XYZ     ###    ####   ###    ####     ####    ###
QWE     ###    ####   ###    ####     ####    ###

我想传递给存储过程的参数只是年(2015)

这是我到目前为止所尝试但未检索预期结果

select 
    CP.ProductName, 
    SUM( Cp.ProductQuantity ) as Quantity, 
    VT.Tradedate
from 
    VendorTrading VT 
inner join 
    CustomerProducts CP on VT.Id = Cp.VendorTradingId
where
    (VT.Tradedate between isnull(@StartDate, VT.Tradedate) 
                      and isnull(@EndDate, VT.Tradedate))
group by
    Cp.ProductName, VT.Tradedate

这是我的查询结果:

enter image description here

0 个答案:

没有答案