2017-09-21 4 views
0

Ich habe eine Tabelle1 in unten Struktur und Beispiel. Müssen Sie es als Tabelle 2 zeigen. Kann jemand bitte dabei helfen.Oracle SQL oder PLSQL konvertieren Zeilen in Spalte

Tabelle 1

id Month Days 
1 january 20 
2 january 19 
3 january 20 
4 january 21 
5 january 22 
6 january 23 
1 February 18 
2 February 17 
3 February 16 
4 February 15 
5 February 16 
6 February 18 
6 February 18 

Tabelle 2:

id January February 
1 20 18 
2 19 17 
3 20 16 
4 21 15 
5 22 16 
6 23 18 

Antwort

2
select id 
    , sum(case when month = 'January' then days end) as january 
    , sum(case when month = 'February' then days end) as february 
    from table1 
group by id; 
0

case-Anweisung gibt Ihnen die beste Lösung für Ihre Anfrage:

select id, 
     sum(
     case when 
       month = 'January' then days 
           else '' end) as january, 
     sum(
     case when 
       month = 'February' then days 
           else '' end) as February  
    from table1 
group by id;