1
ratetype
とcosttype
の両方の列に基づいて、次のデータをピボットします。 ratetype
とcosttype
の値をまとめて連結しないで、これをどうやって行うのか分かりません...2つの「for」列に基づくSQLピボット
もっと良い方法がありますか?
Employee Period Rate1CostA Rate1CostB Rate2CostA Rate2CostB
-------------------------------------------------------------------
1 201701 500 700 400 200
に
Employee Period RateType CostType Value
--------------------------------------------
1 201701 Rate1 CostA 500
1 201701 Rate1 CostB 700
1 201701 Rate2 CostA 400
1 201701 Rate2 CostB 200
私は醜い感じた、最初の2つのフィールドを連結して、それをやって把握することができる唯一の方法。以下のような何か...
SELECT
Employee,
Period,
Rate1CostA, Rate1CostB,
Rate2CostA, Rate2CostB
FROM
(SELECT
Employee,
Period,
RateType + CostType as RateCostType,
Value
FROM
MyTable) CostRate
PIVOT
(MAX(Value)
FOR RateCostType IN (Rate1CostA, Rate1CostB, Rate2CostA, Rate2CostB)
) AS p
Woops、あなたは私がMSSQLを使用している、正しい、私はタグを更新します – kralco626