【发布时间】:2019-06-05 16:45:07
【问题描述】:
我有下面的 SQL 表,其中有随机生成的数据
Code Data
SL Payroll 22
SL Payroll 33
SL Payroll 43
.. .....
我要传输数据,格式如下图
Code Data1 Data2 Data3 ..
SL Payroll 22 33 43 ....
有人建议使用数据透视表来转换数据,如下所示
SELECT Code,
[22] Data1,
[33] Data2,
[43] Data3
FROM
(
SELECT *
FROM T
) TBL
PIVOT
(
MAX(Data) FOR Data IN([22],[33],[43])
) PVT
但这假设数据点是静态的,例如 22,33,但它们是动态生成的。
【问题讨论】:
-
那是你的研究吗??? stackoverflow.com/q/54134488/6426692
-
Sami 我本身不是数据库开发人员,但我只需要为我的前端代码完成这个。我试着看,但很多例子都在做 AVG 或只是转置。我刚刚在那里看到了您的回答..非常感谢您的帮助..我实际上只是要做一些循环并插入更新技巧来实现结果,这不像您建议的 Pivot 东西那么酷,只是为了完成工作。时间紧迫,因此寻求帮助。
标签: sql-server tsql sql-server-2008 pivot sql-server-2014