【发布时间】:2018-01-18 17:55:08
【问题描述】:
[从列到行的 SQL 透视图]
大家好, 我正在尝试将表中的列转换为行以满足要求,我能够将多个列值带到一列,但不知道如何转置为行。 感谢您的帮助
WITH mn_result AS(
SELECT
eh.[RUN_NUMBER], ed.[NOTCH_STEP], ed.[POINT_TYPE], ed.[TESTDATA_ID]
FROM [dbo].[Header] eh
JOIN
[dbo].[TestData] ed ON eh.[RUN_NUMBER] = ed.[RUN_NUMBER]
WHERE eh.[RUN_NUMBER] = '01007230')
SELECT [RUN_NUMBER]
,col+value as col,value FROM (
SELECT [RUN_NUMBER],[NOTCH_STEP] as notch,[POINT_TYPE] as ptype
,[TESTDATA_ID] as id FROM mn_result
GROUP BY [RUN_NUMBER],[NOTCH_STEP],[POINT_TYPE],[TESTDATA_ID]) rt
unpivot ( value FOR col in (notch,ptype))unpiv
ORDER BY col
【问题讨论】:
-
这是什么 RDBMS?请添加相关标签进行清理
-
所需的输出无效,因为您有重复的 8 个标题。
-
我使用的是 SQL Server MS 2012。
-
@parfait - 两行可以单行显示吗?
标签: sql sql-server pivot unpivot