我有一个源平面文件,我想读取每一行并为foreach行再创建两个重复的文件。实现此目的的最佳方法是什么?
示例我的平面文件
ID_Col Country_Col
1 CountryA
2 CountryA
3 CountryC
4 CountryB
我想要什么:
ID_Col Country_Col
1 CountryA
1 CountryB
1 CountryC
2 CountryA
2 CountryB
2 CountryC
3 CountryA
3 CountryB
3 CountryC
4 CountryA
4 CountryB
4 CountryC
创建的行分别具有Country B
和Country C
的值。实现此目的的最佳方法是什么?
答案 0 :(得分:0)
假设您将平面文件加载到暂存表中,因此已经有一个名为MyStagingTable
的表,其中包含以下数据:
ID_Col Country_Col
=====================
1 CountryA
2 CountryA
3 CountryC
4 CountryB
还假设您有一个名为AllCountries
的表,
Country_Name
===============
CountryA
CountryB
CountryC
然后,您可以编写此查询以获取所需的内容:
SELECT S.ID_Col, C.Country_Name
FROM MyStagingTable S
CROSS JOIN
AllCountries C
这意味着您可以将此查询放入执行SQL任务中以加载到表中
INSERT INTO FinalTable (ID_Col, Country_Name)
SELECT S.ID_Col, C.Country_Name
FROM MyStagingTable S
CROSS JOIN
AllCountries C