2017-07-12 56 views
0

嘿所以我想旋转两列,如果你看到我的代码下面我能够在一列执行我的数据透视。有没有一种方法可以将我的ReturnedItems列转到ShippedItems旁边?MSSQL枢轴在两列

谢谢

declare @t table (
store varchar(20), 
ShippedItems int, 
ReturnedItems int 
) 

insert into @t 
values ('Walmart',1,2) 
insert into @t 
values ('Lowes',1,2) 
insert into @t 
values ('Home Depot',1,2) 

select * from (
select * from @t 
) pivottable 
pivot 
(
sum(ShippedItems) 
for store in (Walmart,Lowes,[Home Depot]) 
) x 
+0

什么是理想的布局/结果? –

+1

可能重复[在Sql Server中如何为多个数据透视表](https://stackoverflow.com/questions/38067490/in-sql-server-how-to-pivot-for-multiple-columns) – scsimon

回答

1

这是你在找什么?

SELECT 
    Walmart_ShippedItems = MAX(CASE WHEN t.store = 'Walmart' THEN t.ShippedItems END), 
    Walmart_ReturnedItems = MAX(CASE WHEN t.store = 'Walmart' THEN t.ReturnedItems END), 
    Lowes_ShippedItems = MAX(CASE WHEN t.store = 'Lowes' THEN t.ShippedItems END), 
    Lowes_ReturnedItems = MAX(CASE WHEN t.store = 'Lowes' THEN t.ReturnedItems END), 
    HomeDepot_ShippedItems = MAX(CASE WHEN t.store = 'Home Depot' THEN t.ShippedItems END), 
    HomeDepot_ReturnedItems = MAX(CASE WHEN t.store = 'Home Depot' THEN t.ReturnedItems END) 
FROM 
    @t t 

HTH, 杰森