sql面试题:行转列
Posted 25miao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql面试题:行转列相关的知识,希望对你有一定的参考价值。
CREATE TABLE ProgrectDetail ( ProgrectName NVARCHAR(20), --工程名称 OverseaSupply INT, --海外供应商供给数量 NativeSupply INT, --国内供应商供给数量 SouthSupply INT, --南方供应商供给数量 NorthSupply INT --北方供应商供给数量 ) INSERT INTO ProgrectDetail SELECT ‘A‘, 100, 200, 50, 50 UNION ALL SELECT ‘B‘, 200, 300, 150, 150 UNION ALL SELECT ‘C‘, 159, 400, 20, 320 UNION ALL SELECT ‘D‘, 250, 30, 15, 15
行转列后:
SELECT P.ProgrectName,P.Supplier,P.SupplyNum FROM ( SELECT ProgrectName, OverseaSupply, NativeSupply, SouthSupply, NorthSupply FROM ProgrectDetail )T UNPIVOT ( SupplyNum FOR Supplier IN (OverseaSupply, NativeSupply, SouthSupply, NorthSupply ) ) P
以上是关于sql面试题:行转列的主要内容,如果未能解决你的问题,请参考以下文章