使用sqlunpivot
我有这个表,我需要把它转换成下面的表。我猜这可以用unpivot来完成,但我无法做到。有人能帮忙吗使用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
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;