2016-07-28 3 views
0

を作成Iの形式でデータを持っている:ピボットデータW /同じIDと0

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

、それを旋回し、(そこに対応する速度値が存在しない場合は0の値を作成する必要が)ID = 1 = 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ごとに1行を返すことを求めています。 – mk8efz

+0

上記のクエリの出力を投稿します。 –

+0

違いがあるのか​​どうか分かりませんが、SQL Server 2014を使用しています。残念ながら、私はあなたの結果を複製できません – mk8efz

関連する問題