将 UNPIVOT 从 SQL Server 转换为 Redshift
Posted
技术标签:
【中文标题】将 UNPIVOT 从 SQL Server 转换为 Redshift【英文标题】:Convert UNPIVOT from SQL Server to Redshift 【发布时间】:2018-09-10 08:24:46 【问题描述】:我有一个来自 SQL Server 的脚本,我需要将其转换为 Redshift
这是脚本的一部分,我遇到了麻烦
UNPIVOT
(
SeatCharge
FOR Description IN (
PM_Core,
PM_RCM,
PM_Advanced_RCM,
PM_Payroll,
PM_DXM,
PM_Messaging,
PM_Tasks,
Clinical_Core,
Clinical_Data_Collection,
Clinical_Auditing_Tools,
Clinical_Group_Sessions,
Clinical_ABC_Data,
Clinical_AGA,
LMS_Core,
HRIS_PTO,
LMS_Course_Groups,
PM_Reach_Me,
PM_Redshift,
HRIS_Benefits,
HRIS_Assets)
)u
如何正确地将其转换为红移?
【问题讨论】:
你为什么要减分? 你必须使用 case when 来写 【参考方案1】:您可以尝试在 amazon-redshift
中使用union all
来制作UNPIVOT
SELECT PM_Core SeatCharge
FROM yourTable
union all
SELECT PM_RCM
FROM yourTable
union all
SELECT PM_Advanced_RCM
FROM yourTable
union all
SELECT PM_Payroll
FROM yourTable
union all
SELECT PM_DXM
FROM yourTable
....
注意
当您在做UNPIVOT
时需要确保UNPIVOT
的列数据类型相同。
【讨论】:
以上是关于将 UNPIVOT 从 SQL Server 转换为 Redshift的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 使用 Pivot 和 UnPivot 实现行列转换