我想这就是你要找的东西:
你已经做了数据透视,你只需要相应地聚合数据透视表的结果。
假设:按ItemNmbr,ITEMDESC,EXTDCOST,Loc1,Loc2,HUB,INLAND,Loc,[OLD
Loc],[IN TRANSIT]分组
SELECT ItemNmbr ,
ITEMDESC ,
QtyOnOrder=SUM(QtyOnOrder) ,
QtyBackordered=SUM(QtyBackordered) ,
TotalInventory=SUM(TotalInventory) ,
EXTDCOST,
InventoryValue = SUM(InventoryValue) ,
Loc1,
Loc2,
HUB,
INLAND,
Loc,
[OLD Loc],
[IN TRANSIT]
FROM ( SELECT DISTINCT ItemNmbr ,
ITEMDESC ,
Location ,
QtyOnhand ,
QtyOnOrder ,
QtyBackordered ,
TotalInventory ,
EXTDCOST ,
InventoryValue
FROM #ssrsFinal
) AS p PIVOT
(SUM(QTYOnHand) FOR Location IN ( Loc1, Loc2, HUB, INLAND, Loc, [OLD Loc],[IN TRANSIT] )
) AS pvt
GROUP BY ItemNmbr ,
ITEMDESC ,
EXTDCOST,
Loc1,
Loc2,
HUB,
INLAND,
Loc,
[OLD Loc],
[IN TRANSIT] ;
回应评论:
样本数据集:
CREATE TABLE #ssrsFinal (ItemNmbr VARCHAR(10),
ITEMDESC VARCHAR(100),
Location VARCHAR(10),
QtyOnhand INT,
QtyOnOrder INT,
QtyBackordered INT,
TotalInventory INT,
EXTDCOST DECIMAL(20,5),
InventoryValue DECIMAL(20,2))
INSERT INTO #ssrsFinal
VALUES
('94185BJGD','SS MESH ROAST PAN, 2X GRILL CLAWS, STAM HNDL, GD','Something',0,0,0,0,14.18000,0),
('94185BJGD','SS MESH ROAST PAN, 2X GRILL CLAWS, STAM HNDL, GD','Something',0,0,0,0,14.18000,0),
('94185BJGD','SS MESH ROAST PAN, 2X GRILL CLAWS, STAM HNDL, GD','Something',3,0,0,3,14.18000,42.54)
响应评论“...插入值而不是位置的“某物”尝试添加与示例不同的位置,然后再次运行您的查询,它将拉回两行。我尝试了 INLAND、HUB 和LOC。”:
SELECT ItemNmbr ,
ITEMDESC ,
QtyOnOrder=SUM(QtyOnOrder) ,
QtyBackordered=SUM(QtyBackordered) ,
TotalInventory=SUM(TotalInventory) ,
EXTDCOST,
InventoryValue = SUM(InventoryValue) ,
Loc1=SUM(Loc1),
Loc2=SUM(Loc2),
HUB=SUM(HUB),
INLAND=SUM(INLAND),
Loc=SUM(Loc),
[OLD Loc]=SUM([OLD Loc]),
[IN TRANSIT]=SUM([IN TRANSIT])
FROM ( SELECT DISTINCT ItemNmbr ,
ITEMDESC ,
Location ,
QtyOnhand ,
QtyOnOrder ,
QtyBackordered ,
TotalInventory ,
EXTDCOST ,
InventoryValue
FROM #ssrsFinal
) AS p PIVOT
(SUM(QTYOnHand) FOR Location IN ( Loc1, Loc2, HUB, INLAND, Loc, [OLD Loc],[IN TRANSIT] )
) AS pvt
GROUP BY ItemNmbr ,
ITEMDESC ,
EXTDCOST ;
结果: