簡體   English   中英

SQL 從包含表名、列名和值列映射的數據表中插入數據到多個表中可以在源中更改

[英]SQL Insert data into multiple tables from data table that contains table name, column name and value column mapping can change in source

我很困惑。 這看起來可能,但不確定如何實現。
我有一個看起來像這樣的數據表。 數據源有時會交換源文件中的列。

Data                            
    IN      column          table_sheet          y      w       value   
    col1    Route           Summary              2021   Week 1  a   
    col2    CNG/Diesel      Summary              2021   Week 1  5           
    col3    Freq            Summary              2021   Week 1  B       
    col4    Weekly Miles    Summary              2021   Week 1  6       
    col1    CNG             Summary              2021   Week 2  1       
    col2    Freq            Summary              2021   Week 3  1       
    col3    Weekly Miles    Summary              2021   Week 4  1       
    col1    Load            Days_ON              2021   Week 1  L210224-25048   
    col2    Load_id         Days_ON              2021   Week 1  L210224-25048
    col3    cost            Days_ON              2021   Week 1  263.64  
    col1    Distance        CCD                  2021   Week 2  781.62      
    col2    Code            CCD                  2021   Week 2  CL      
    col3    Name            CCD                  2021   Week 2  Squre       
    col4    Cost            CCD                  2021   Week 2  1800 

源文件是一個包含多個工作表(項目的表名稱)的電子表格,每周填充一次並且是增量的。 源文件列映射可以更改,如表摘要中所示,源中的所有列(excel 源文件列索引)都已更改。 目標表已准備好所有可能的列名。 SQL 代碼必須讀取表名並將數據相應地映射到源表。

I want to populate the below tables using the data table above like this.               
Summary     Route    CNG    Freq    Weekly Miles    y       W
            a        5      B       6               2021    Week 1
                     1                              2021    Week 2
                            1                       2021    Week 3
                                     1              2021    Week 4
                            
Days_ON                 
        Load            LoaD_id         cost    y          W
        L210224-25048   L210224-25048   263.64  2021       Week 1   
                            
                            
CCD                         
        Distance        Code    Name        Cost    y       W
        781.62          CL      Squre       1800    2021    Week 1  

任何幫助,將不勝感激。

您需要按 table_sheet 分隔行,然后為每個 table_sheet 應用 Row denormaliser,因為您生成不同的表: 轉型創造

如何參數化 Switch/case 步驟

您如何參數化 Row denormaliser 步驟

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM