2016-07-28 65 views
0

我在格式數據:樞軸數據W /相同的ID在SQL和創建0的

id speed  power 
1  2  100 
1  3  250 
1  4  310 
2  1  90 
2  2  140 
2  3  210 

和需要樞轉並創建0值對於其中不存在一個相應的速度值(有是沒有速度= 1爲ID = 1,但有ID = 2):

id 1  2  3  4 
1 0  100 250 310 
2 90 140 210 0 

回答

0
Create Table #Test (id int, speed int,  power int) 
Insert #Test Values (1,  2,  100) 
Insert #Test Values (1,  3,  250) 
Insert #Test Values (1,  4,  310) 
Insert #Test Values (2,  1,  90) 
Insert #Test Values (2,  2,  140) 
Insert #Test Values (2,  3,  210) 

Select IsNull([1],0),IsNull([2],0), 
     IsNull([3],0),IsNull([4],0) 
    From #Test 
    Pivot (Sum(Power) 
     For Speed In ([1],[2],[3],[4])) As PivotPowers 

結果:

(No column name) (No column name) (No column name) (No column name) 

    0 100 250 310 
    90 140 210 0 
+0

這將返回所有6行,功率值形成一個有序的對角線;我正在尋求每個ID返回一行,並以權力作爲值和速度列。 – mk8efz

+0

我將發佈上面的查詢輸出。似乎爲我工作正常... –

+0

我不知道它是否有所作爲,但我使用SQL Server 2014.不幸的是,我無法複製您的結果 – mk8efz