2017-05-04 5 views
0

Newbie Frage:SQL: PIVOT mit beitreten

Ich habe folgende Tabelle

Period Customer Balance 
40  1  10 
40  2  15 
39  1  9 
38  1  10 
38  2  20 

Ich mag würde es bestellen, so dass ich eine Spalte für jede Periode haben,

Customer BalancePeriod38 BalancePeriod39 BalancePeriod40 
1    10    9    10 
2    15    .    20 

Ist das möglich?

+0

Sein genannt verschwenken. Millionen von Posts auf SO darüber in jedem RDBMS. – dfundako

Antwort

1

Sie können Pivot die Daten unter Verwendung von Aggregation mit Fall:

select customer, 
    sum(case when period = 38 then balance else 0 end) as balance_period_38, 
    sum(case when period = 39 then balance else 0 end) as balance_period_39, 
    sum(case when period = 40 then balance else 0 end) as balance_period_40 
from your_table 
group by customer;