【问题标题】:Transpose SQL result set转置 SQL 结果集
【发布时间】:2013-09-16 22:00:56
【问题描述】:

我有以下格式的数据:

Machine |  week_end  | widgets
 A      | 05-26-2013 | 5
 B      | 05-26-2013 | 4
 A      | 04-01-2013 | 6
 B      | 04-01-2013 | 0

我希望我的结果集如下所示:

Machine | 05-26-2013 | 04-01+2013 | ...
 A      | 5          | 6          |
 B      | 4          | 0          |

我不太确定如何在此处继续进行——如何在不必在查询中明确指定周结束(或其他)的情况下转置这样的表? (数据库是 SQL Server 2008。)

【问题讨论】:

    标签: sql sql-server-2008 pivot


    【解决方案1】:

    您需要对 SQL PIVOT 函数进行一些研究。它将允许您将行转换为列。这应该是您正在寻找的,一旦您知道如何应用它。

    查看此链接:Using PIVOT and UNPIVOT

    【讨论】:

    • 不过有一个问题:我想避免手动输入列名,因为它们有很多。有没有办法避免这种情况,还是我必须手动输入列名?
    • 不,您可以动态添加它们。尝试使用 Google 搜索“动态列名 SQL 数据透视表”或查看此链接:stackoverflow.com/questions/7822004/…
    猜你喜欢
    • 2017-04-05
    • 2011-10-25
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 2022-01-19
    • 2015-12-27
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多