【问题标题】:SQL to transpose tableSQL转置表
【发布时间】:2018-03-23 01:25:48
【问题描述】:

寻找一种简单的方法来转置表,以便能够在没有数据库功能的软件中进一步分析数据。

表:

Id  testdate partid testid
1  2-13-2014  45  58
2  2-23-2014  45  2

我想从中提取一个表,将 testid 放在其字段中的列名和日期中,如下所示:

partid  test-1  test-2  test-3  ...  test-58  ...
45                   2-23-2014                        2-13-2014

可能有几百个 testid。我计划将代码扩展到每个 testid 的多个列,例如:test-1-date test-1-result test-1-success。

更喜欢通用 SQL,但如果必须具体,我会是 MS SQL 服务器。

【问题讨论】:

标签: sql sql-server select


【解决方案1】:

好的,找到了,我需要它的“PIVOT”。搜索 PIVOT 时,此站点上有许多问题和答案。

与大多数其他 PIVOT 示例相比,在我的案例中,有一点不同的是我尝试聚合字符串而不是数字。 (把日期字段想象成一个字符串)

特别有用的是:

How to create a pivot query in sql server without aggregate function

Get ROWS as COLUMNS (SQL Server dynamic PIVOT query)

Convert Rows to columns using 'Pivot' in mssql when columns are string data type

Pivot table strings grouping under pivot column?

【讨论】:

    猜你喜欢
    • 2013-02-24
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多