Oracle Unpivot

BaseBallBatBoy

Erfahrenes Mitglied
Hi,

Ich habe eine Tabelle t: colA, colB, colC, alles varchar 255

Der Inhalt:

colA-------colB-------colC
================
null-------Berlin-------Hamburg
ProduktA-------10-------20
ProduktB-------40-------30

Darauf mögchte ich nun Unpivot anwenden. Aber der Name der unpivotierten Spalte soll nicht colB oder colC lauten, sondern Berlin oder Hamburg, und das dynamisch, je nachdem wie eben die Tabelle gefüllt ist. Ist das mit Unpivot immer noch möglich?


Hier was ich bereits habe:

select
colA,
shop,
sold
from t
unpivot (
sold for (shop) in (colB as 'colB', colC as 'colC')
)
order by
shop,
colA,
sold


Wie müsste ich die Aliases anpassen, dasss da dynamisch der Wert der entsprechenden Spalte aus der ersten Zeile drin steht?


Gruss
BBBB
 
Momentan habe ich:
ProduktA-------colB-------10
ProduktA-------colC-------20
ProduktB-------colB-------40
ProduktB-------colC-------30

Haben möchte ich:
ProduktA-------Berlin-------10
ProduktA-------Hamburg-------20
ProduktB-------Berlin-------40
ProduktB-------Hamburg-------30


Wobei Berlin und Hamburg dynamisch aus der Tabelle Stammen sollten.


PS: Oracle 11g
 
Hallo,

Und, gibt es einen Weg? Ich glaube zwar, dass man das so mit Unpivot nicht machen kann, aber kannst du das auch bestätigen?

Gruss
 
Zurück