2017-07-12 53 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, 傑森