SQL Server 2008:没有聚合函数的数据透视列解决方法
是的,我知道,这个问题已被问过很多次,但在阅读所有帖子后,我发现没有适合我需要的答案。所以,这是我的问题。我想获取一列值并将它们转换为 6 列的行。
I want to take this...... And turn it into this.......................
G Letter Date Code Ammount Name Account
081278 G 081278 12 00123535 John Doe 123456
12
00123535
John Doe
123456
我在名为 TempTable 的表的这一列中有 110000 个值。我需要显示所有值,因为每一行本身就是一个实体。例如,所有字母、日期、代码、金额、名称和帐户列都有一个唯一的条目。我知道聚合函数是必需的,但是是否有解决方法可以让我获得所需的结果?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只需使用 MAX 聚合
如果一行 = 一列(每组 6 行),则单个值的 MAX = 该行值。
但是,您发布的数据不足。我没有看到任何内容:
没有可依赖的隐式行顺序或数字来生成组
Just use a MAX aggregate
If one row = one column (per group of 6 rows) then MAX of a single value = that row value.
However, the data you've posted in insufficient. I don't see anything to:
There is no implicit row order or number to rely upon to generate the groups
不幸的是,根据 MSDN 最大容量。
您可以考虑使用动态 SQL 来实现您想要执行的操作,而不是使用数据透视表。
Unfortunately, the max columns in a SQL 2008 select statement is 4,096 as per MSDN Max Capacity.
Instead of using a pivot, you might consider dynamic SQL to get what you want to do.