gpt4 book ai didi

sql - 逆透视特定表中的多个列

转载 作者:行者123 更新时间:2023-12-03 02:16:06 24 4
gpt4 key购买 nike

我使用以下 SQL 脚本来取消数据透视,当我执行时,我收到此错误:UNPIVOT 运算符中指定的内容与 UNPIVOT 参数中的现有列名称冲突。

 SELECT 
HelpDeskName
, TRY_CONVERT(NUMERIC(10,4),loggedInAgents) AS loggedInAgents
, TRY_CONVERT(NUMERIC(10,4),AvailableAgents) AS AvailableAgents
, TRY_CONVERT(NUMERIC(10,4),UnAvailableAgent) AS UnAvailableAgent
, TRY_CONVERT(NUMERIC(10,4),TotalCalls) AS TotalCalls
, TRY_CONVERT(NUMERIC(10,4),CallsHandled) AS CallsHandled
, ReceivedTime
FROM [Final].[UCCX] AS U
UNPIVOT
(

HelpDeskName,
ReceivedTime
for Category in (LoggedInAgents,AvailableAgents,UnAvailableAgent,TotalCalls,CallsHandled)
) Z ;

我希望看到的 unpivot 输出列是 HelpDeskName、ReceivedTime、Category、CategoryValue。请建议或帮助解决此查询。

enter image description here

enter image description here

最佳答案

两个快速选项

选项 1 - 通过交叉应用

交叉应用方法提供了更多的自由度/灵 active 。例如,您可以轻松地重命名类别或重新转换值。

Select A.HelpDeskName
,A.RecievedTime
,B.*
From YourTable A
Cross Apply (values ('LoggedInAgents' ,A.LoggedInAgents)
,('AvailableAgents' ,A.AvailableAgents)
,('UnavailableAgents',A.UnavailableAgents)
,('TotalCalls' ,A.TotalCalls)
,('CallsHandled' ,A.CallsHandled)
) B (Category,CategoryValue)

选项 2 - 通过 UnPivot

Select HelpDeskName,RecievedTime,Category,CategoryValue
From YourTable
UnPivot ( CategoryValue For Category in (LoggedInAgents,AvailableAgents,UnavailableAgents,TotalCalls,CallsHandled) ) u;

两者都会返回类似的内容

enter image description here

关于sql - 逆透视特定表中的多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43504071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com