为了账号安全,请及时绑定邮箱和手机立即绑定

T-SQL枢轴?根据行值创建表格列的可能性

T-SQL枢轴?根据行值创建表格列的可能性

jeck猫 2019-12-03 10:47:46
实际上是否可以旋转T-SQL(2005),以便(出于争论的目的)第一列的行的值成为输出表的列的标题?我意识到这并不是PIVOT真正的目的,而是我所需要的-能够请求一个表的功能,这些列是事先不知道的,因为它们已经作为值输入到表中。即使是骇客也很好,TBH。
查看完整描述

2 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

更好的数据透视查询如下:


-- Static PIVOT

WITH PivotData AS

(

SELECT custid, YEAR(orderdate) AS orderyear, qty

FROM dbo.Orders

)

SELECT custid, [2002], [2003], [2004]

FROM PivotData

PIVOT(SUM(qty) FOR orderyear IN([2002],[2003],[2004])) AS P;

我认为通用表表达式(CTE)的样式胜于派生表,因为我认为它更易于理解。Itzik也这样做,因为他在《查询Microsoft SQL Server 2012》一书中建议使用这种样式。


查看完整回答
反对 回复 2019-12-03
  • 2 回答
  • 0 关注
  • 517 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信