情况:数据库行转为列
数据库:sql server2008
方式1)函数:PIVOT
代码:
with R as(
select 1 has, 'a' StaffNo, '盘盈入库' SortName
UNION
select 1 has, 'b' StaffNo, '领用出库' SortName
UNION
select 1 has, 'b' StaffNo, '退货入库' SortName
)
select StaffNo, [盘盈入库],[领用出库],[退货入库]
from R PIVOT( avg([has])
FOR [SortName]
IN([盘盈入库],[领用出库],[退货入库])
)
go;
效果:
PS:若是执行有问题,提示错误为以下内容
([Err] 42000 - [SQL Server]'PIVOT' 附近有语法错误。您可能需要将当前数据库的兼容级别设置为更高的值,以启用此功能。有关 ALTER DATABASE 的 S