【发布时间】:2024-01-19 08:33:01
【问题描述】:
我的数据如下所示:
ID RowType Col_1 Col_2 Col_3 ... Col_n
1 HDR FirstName LastName Birthdate
2 DTL Steve Bramblet 1989-01-01
3 DTL Bob Marley 1967-03-12
4 DTL Mickey Mouse 1921-04-25
我想返回一个如下所示的表或数据集:
ID FirstName LastName Birthdate
2 Steve Bramblet 1989-01-01
3 Bob Marley 1967-03-12
4 Mickey Mouse 1921-04-25
其中 n = 255(因此有 255 个 Col_ 字段的限制)
***编辑:HDR 行中的数据是任意的,因此我仅使用 FirstName、LastName、Birthdate 作为示例。这就是为什么我认为它需要是动态 SQL,因为我想要结束的列名将根据 HDR 行中的值而变化。谢谢! ***
如果有一个纯粹的 SQL 解决方案,那就是我所追求的。它将进入 ETL 流程 (SSIS),因此如果一切都失败了,我可以使用脚本任务。
即使我可以返回单行,这也是一个解决方案。我在想可能有这样的动态 sql 解决方案:
select Col_1 as FirstName, Col_2 as LastName, Col_3 as Birthdate
【问题讨论】:
-
SSIS 数据流需要在设计时设置一个常量列。换句话说,您不能定义列名/类型/计数可以更改的单个数据流。您是否试图获得可以处理一组动态输入和输出的单一数据流?
标签: sql sql-server ssis etl dynamic-sql