将数据库表转换为动态列计数结果
问题描述:
在*上有几个转置问题,但是查看几个非转换问题与我的问题非常相似。主要区别在于:有一组预定义的列。将数据库表转换为动态列计数结果
比方说,我的表看起来像这样:
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 ...
答
看起来你正在寻找一个“动态数据透视表” 。见这里的例子,或谷歌这个词更多的信息:
http://www.kodyaz.com/articles/t-sql-pivot-tables-in-sql-server-tutorial-with-examples.aspx
答
您是否需要在SQL中执行此操作?如果您可以在将SELECT *查询输入到可以随意操作的数组中,那么看起来相当微不足道。
是否只有一行转置?如果有多行,它们是如何相关的(即是否有第二行'Name ='Set'',它与其他行有什么关系)? – Tomalak 2010-11-24 16:36:20
@Tomalek:每一行都转换为一个单独的列。原始表格中的行不以任何形式或形式相关。所以基本上删除ID和转置整个表。这是主意。 – 2010-11-24 17:12:05