SQL转置表

时间:2014-03-29 22:45:26

标签: sql sql-server select

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

表:

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-results test-1-success。

首选常见SQL,但如果必须具体,我将成为MS SQL服务器。

1 个答案:

答案 0 :(得分:0)

好的,发现它,它的" 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?