我有一个源平面文件,我想读取每一行,并为每一行再创建两个副本。实现这一目标的最佳方式是什么?
示例我的平面文件
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
Country B
Country C
假设您将平面文件加载到一个暂存表中,因此已经有一个名为 MyStagingTable 有了这些数据:
MyStagingTable
ID_Col Country_Col ===================== 1 CountryA 2 CountryA 3 CountryC 4 CountryB
AllCountries 其中包括:
AllCountries
Country_Name =============== CountryA CountryB CountryC
然后,您可以编写此查询以获取所需内容:
SELECT S.ID_Col, C.Country_Name FROM MyStagingTable S CROSS JOIN AllCountries C
INSERT INTO FinalTable (ID_Col, Country_Name) SELECT S.ID_Col, C.Country_Name FROM MyStagingTable S CROSS JOIN AllCountries C