转动一排

use*_*148 1 sql sql-server ms-access pivot

我有点新用pivot.我如何从这个转移此记录:

P1AVERAGE    P2AVERAGE    P3AVERAGE   -> column name
1.25         1.50         1.75
Run Code Online (Sandbox Code Playgroud)

对此:

AVERAGENAME    AVERAGESCORE
p1Average      1.25
p2Average      1.50
p3Average      1.75
Run Code Online (Sandbox Code Playgroud)

我正在使用SQL Server和MS Access 2007.

Mah*_*mal 6

你想做什么UNPIVOT不是PIVOT,这使得列回到行,它与枢轴相反.

对于SQL Server,使用UNPIVOT表运算符:

SELECT *
FROM tablename AS t
UNPIVOT
(
  AVERAGESCORE
  FOR plaveragename IN([P1AVERAGE], [P2AVERAGE], [P3AVERAGE])
) AS u;
Run Code Online (Sandbox Code Playgroud)

在这里看到它: