代码之家  ›  专栏  ›  技术社区  ›  xChaax

使用SSIS在平面文件中写入重复行

  •  0
  • xChaax  · 技术社区  · 7 年前

    我有一个源平面文件,我想读取每一行,并为每一行再创建两个副本。实现这一目标的最佳方式是什么?

    示例我的平面文件

    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

    1 回复  |  直到 7 年前
        1
  •  0
  •   Nick.Mc    7 年前

    假设您将平面文件加载到一个暂存表中,因此已经有一个名为 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
    

    INSERT INTO FinalTable (ID_Col, Country_Name)
    SELECT S.ID_Col, C.Country_Name
    FROM MyStagingTable S
    CROSS JOIN 
    AllCountries C
    
    推荐文章