Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用sqlunpivot_Sql_Oracle - Fatal编程技术网

使用sqlunpivot

使用sqlunpivot,sql,oracle,Sql,Oracle,我有这个表,我需要把它转换成下面的表。我猜这可以用unpivot来完成,但我无法做到。有人能帮忙吗 MAKER LAPTOP PC PRINTER C 1 0 0 B 1 1 0 D 0 0 2 E 0 3 1 A 2 2 3 MAKER TYPE Count B Printer

我有这个表,我需要把它转换成下面的表。我猜这可以用unpivot来完成,但我无法做到。有人能帮忙吗

MAKER   LAPTOP  PC  PRINTER  

C       1       0     0  
B       1       1     0  
D       0       0     2  
E       0       3     1  
A       2       2     3  

MAKER   TYPE    Count

B       Printer  0  
C       PC       0  
C       Printer  0  
D       Laptop   0  
D       PC       0  
E       Laptop   0  
E       Printer  3  
A       Laptop   2  
A       PC       2  
A       Printer  3  
B       Laptop   1  
B       PC       1  
E       PC       3  
C       Laptop   1  
D       Printer  1  

如果您的表不太大,则使用
union all
可能是最简单的解决方案:

select maker, 'Laptop' as type, laptop as "count" from t union all
select maker, 'PC' as type, pc from t union all
select maker, 'Printer' as type, printer from t;