2015-06-02 45 views
0

我有一個表從行數據添加列名

stock idWarehouse Warehousname idorder 
-492 1    xyz   1 
-24  3    abc   1 
-492 1    xyz   2 
-24  3    abc   2 

我想導致以下形式

xyz abc idorder 
-492 -24  1 
-492 -24  2 
+2

'Warehousname'可能會出現多少種不同的變體? –

+0

如果您的倉庫事先知道,這並不難。如果他們不是。最好在應用程序中完成 –

+0

只有2個不同的倉庫變化發生 –

回答

1

如果Warehousname已經限制值的設定,你可以這樣做:

SELECT MAX(CASE WHEN Warehousname='xyz' THEN stock END) AS xyz, 
     MAX(CASE WHEN Warehousname='abc' THEN stock END) AS abc, 
     idorder 
FROM TableName 
GROUP BY idorder 

樣品結果:

xyz  abc  idorder 
-492 -24  1 
-492 -24  2 

樣本結果在SQL Fiddle

+0

它對於10個倉庫是有用的 –

+0

@DavidBeckham:正如我所說的,當然,如果你有一個已知的**值集合,可以使用它,不管多少。 –

+0

THANX ..... SIRJI .... –