【发布时间】:2017-08-10 06:38:24
【问题描述】:
我想使用具有相同列的聚合函数创建两个数据透视列。
ItemLookupCode StoreID DepartmentID Weeks QtySold AsOfWeekOnHand
----------------------------------------------------------------------------------
610759C2000 1001 23 30 0 1.5
610759C2000 1001 23 31 0 0
610759C2000 1004 23 30 0 2
610759C2000 1004 23 31 0 3.5
610759C2000 1201 23 30 0.6395 1
610759C2000 1201 23 31 0.6395 2
我尝试使用以下查询。但这是错误的。正确的方法是什么?
select itemlookupcode, storeid, departmentid,[30],[31] from
(
select
fr.itemlookupcode,
fr.storeid,
fr.departmentid,
fr.asofweekonhand,
fr.weeks,
fr.QtySold
from
#finalresult fr
) x
pivot
(
sum(QtySold)
for weeks in ([30],[31])
) p1
pivot
(
sum(asofweekonhand)
for weeks in ([30],[31])
) p2
注意
我们可以将列名指定为
Week30Sold Week31Sold Week30AsOfWeekOnHand Week31AsOfWeekOnHand
-------------------------------------------------------------------------
【问题讨论】:
标签: sql sql-server stored-procedures pivot