Требуется "100" as 100
, а не 100 as '100'
:
SQL Fiddle
Настройка схемы Oracle 11g R2 :
CREATE TABLE PIVOTED_SALES (
sales_per_month NUMBER,
"100" NUMBER,
"101" NUMBER,
"105" NUMBER,
"106" NUMBER,
"200" NUMBER
);
INSERT INTO pivoted_sales VALUES( 1, 0, 20, 30, 0, 50 );
Запрос 1 :
select sales_per_month,
Product_id,
Total_amount
from pivoted_sales
unpivot(
Total_amount for Product_id in(
"100" as 100,
"101" as 101,
"105" as 105,
"106" as 106,
"200" as 200
)
)
Результаты :
| SALES_PER_MONTH | PRODUCT_ID | TOTAL_AMOUNT |
|-----------------|------------|--------------|
| 1 | 100 | 0 |
| 1 | 101 | 20 |
| 1 | 105 | 30 |
| 1 | 106 | 0 |
| 1 | 200 | 50 |