将数据库表转换为动态列计数结果

问题描述:

在*上有几个转置问题,但是查看几个非转换问题与我的问题非常相似。主要区别在于:有一组预定义的列。将数据库表转换为动态列计数结果

比方说,我的表看起来像这样:

ID Name Value 
--------------- 
1 Set Mitch 
2 Get Jane 
3 Push Dave 
4 Pull Mike 
5 Dummy John 
... 

我想转就变成:

Set Get Push Pull Dummy ... 
---------------------------------- 
Mitch Jane Dave Mike John ... 
+0

是否只有一行转置?如果有多行,它们是如何相关的(即是否有第二行'Name ='Set'',它与其他行有什么关系)? – Tomalak 2010-11-24 16:36:20

+0

@Tomalek:每一行都转换为一个单独的列。原始表格中的行不以任何形式或形式相关。所以基本上删除ID和转置整个表。这是主意。 – 2010-11-24 17:12:05

对于如何在动态列转动一个很好的例子见this blog post

看起来你正在寻找一个“动态数据透视表” 。见这里的例子,或谷歌这个词更多的信息:

http://www.kodyaz.com/articles/t-sql-pivot-tables-in-sql-server-tutorial-with-examples.aspx

您是否需要在SQL中执行此操作?如果您可以在将SELECT *查询输入到可以随意操作的数组中,那么看起来相当微不足道。