真正的数据转置并不存在?

时间:2014-01-08 00:53:31

标签: c# asp.net sql

我已经搜索并尝试了几天的各种代码方法,以实现我需要的东西,我几乎确信没有已经完成了这项工作。请帮助别人(不要听起来绝望,但我会在你之后命名我的下一个孩子)......

我有一个绑定到典型SQL查询的网格。 它显示如下:

  

MonthYearText | BegInventory |退款| BrokenItems | EndingInventory |等|
  2013-01 | 120 | 10 | 5 | 125 | 22 |
  2013-02 | 100 | 5 | 2 | 105 | 11 |
  2013-03 | 66 | 2 | 1 | 67 | 5 |

我需要这个:

MonthYearText | 2013-01 | 2013-02 | 2013-03 |等
BegInventory | 120 | 100 | 66 | ##
退款| 10 | 5 | 2 | ##
BrokenItems | 5 | 2 | 1 | ##
EndingInventory | 125 | 105 | 67 | ##
等| 22 | 11 | 5 | ##

2 个答案:

答案 0 :(得分:0)

您可以发布您的编码方法吗?不知道为什么你认为还没有人做过这个...你所做的只是翻译轴,你试过在SQL级别而不是代码吗?会更容易IMO - Efficiently convert rows to columns in sql server

(假设您正在使用SQL Server,如果您正在使用其他东西而道歉,但Oracle,MySQL等中提供了类似的技术)

答案 1 :(得分:0)

感谢“Goat CO”和“sh1rts”快速回复。我正在使用SQL Server 2008 R2。我是SQL代码的新手。我遇到的问题是PIVOT不是真正的转置。它想要在列上转置并使用函数聚合该列。我查看了PIVOT,UNPIVOT和CASE语句解决方案,最后将READ()查询到C#DataTable()并通过方法转换数据并转换为新的DataTable()。 最终成为我需要的一个很好的解决方案。再次感谢各位,感谢您的光临!