【发布时间】:2020-05-17 01:16:21
【问题描述】:
我遇到了一个问题,我需要在字符串列上进行旋转。我在下面的链接中找到了解决方案,但不明白为什么在使用 row_number 时旋转对带有字符串数据的列有效。
Need to Pivot String values in SQL server
表定义:
ColumnName DataType
---------- --------
Occupation String
Name String
数据:
Occupation Name
---------- ----
Developer A
Developer B
Designer X
Coder Y
Coder Z
使用的查询是:
SELECT [Developer],
[Designer],
[Coder]
FROM (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY Occupation ORDER BY (SELECT NULL))
RN
FROM
#temp
) as t
PIVOT
(
MAX(Name)
FOR Occupation
IN ([Developer],[Designer],[Coder])
) as pvt
输出:
Developer Designer Coder
A X Y
B NULL Z
【问题讨论】:
-
。 .一个问题本身应该是完整的。这需要样本数据、所需结果和适当的数据库标签。指向“我不明白”的链接不是一个有效的问题。
标签: sql-server pivot row-number