我有这个表,我需要将它转换为下面的表。我猜这可以使用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;