我有一个SQL Server表和一个查询会导致一个数据透视表与两个透视列。以前它只与一个枢轴列(pvt1)一起工作。T-SQL Multiple Pivot Column问题
SELECT
MIN([Created Date]),
MIN([2]) AS [2],
MIN([4]) AS [4],
MIN([12]) AS [12],
MIN([18]) AS [18],
MIN([47]) AS [47],
MIN([88]) AS [88],
MIN([982]) AS [982],
MIN([1033]) AS [1033],
MIN([2360]) AS [2360],
MIN([3759]) AS [3759],
MIN([3974]) AS [3974],
MIN([5586]) AS [5586]
FROM
(SELECT
year(udp.CreatedDate) AS "Created Date",
MAX(udp.Participant) AS "Participant",
MAX(udp.LastModifiedDate) AS "Last Modified Date",
MAX(udp.Client) AS "Client"
FROM
UDP_Table AS udp
WHERE
1=1
GROUP BY
year(udp.CreatedDate)) AS source
PIVOT (
MAX([Last Modified Date])
FOR
[Participant] IN ([2], [4], [12], [18], [47], [88])
)
as pvt1
PIVOT (
MAX([Last Modified Date])
FOR
[Client] IN ([982], [1033], [2360], [3759], [3974], [5586])
)
as pvt2
GROUP BY
[Created Date]
ORDER BY
[Created Date] asc
,其结果是:
[S0001] [207]无效的列名 '最后修改日期'。
奇怪的是,当我尝试这个示例表和查询(请参阅下面的链接),它与我的结构相同,它的工作原理。
http://pratchev.blogspot.de/2009/01/pivoting-on-multiple-columns.html
这有什么错我的查询?
所以,你说如果我使用了一个主轴的列我不能再次使用同一列为第二个枢轴? – Tibor
@Tibor,这是正确的 – JamieD77