将逗号分隔的字符串列拆分为 SSIS 中的几行?

问题描述

我想根据第一个表的输入实现第二个表中的输出。我想通过 SSIS 包来做到这一点。

enter image description here

解决方法

假设您的源表只有两个元素的 CSV,我们可以在这里尝试联合方法:

SELECT
    ID,SUBSTRING([Group],1,CHARINDEX(',',[Group]) - 1) AS [Group],SUBSTRING([Category],[Category]) - 1) AS Category
FROM yourTable
WHERE
    [Group] IS NOT NULL
UNION ALL
SELECT
    ID,[Group]) + 1,LEN([Group])),[Category]) + 1,LEN([Category]))
FROM yourTable
WHERE
    [Group] IS NOT NULL
UNION ALL
SELECT ID,[Group],Category
FROM yourTable
WHERE [Group] IS NULL
ORDER BY
    ID,[Group];

screen capture from demo link below

Demo