将列数据放入正确的目标列 sql ssis

Put column data into the correct destination column sql ssis

我在处理来自系统的订单数据时遇到一些问题 - 不同的列类型错误。

我正在使用 SSIS 将数据提取到 table

但是我遇到了一些这样的记录

CUSTOMERID DATE       ITEMID     ITEM 
1          10/04/2017 A1456      TABLE 
2          20/05/2017 A3432      CHAIR 
3          16/06/2017 A3432      CHAIR 
4          18/06/2017 Null       A3432,CHAIR 
5          23/06/2017 A1456      TABLE

是否有一些 SQL 代码或我可以在 SSIS 中使用的流程可以帮助更正 ID 4 的问题,将 ITEMID 放入正确的行并按如下方式分隔项目?

CUSTOMERID DATE       ITEMID     ITEM 
1          10/04/2017 A1456      TABLE 
2          20/05/2017 A3432      CHAIR 
3          16/06/2017 A3432      CHAIR 
4          18/06/2017 A3432      CHAIR 
5          23/06/2017 A1456      TABLE

您可以使用以下表达式简单地添加 2 个派生列:

ITEMID

ISNULL([ITEMID]) ? TOKEN([ITEM],",",1) : [ITEMID]

项目

TOKENCOUNT([ITEM],",") > 1 ? TOKEN([ITEM],",",TOKENCOUNT([ITEM],",")) : [ITEM]

参考资料