代码之家  ›  专栏  ›  技术社区  ›  John Wick

如何将一列(在一个表中)的子字符串与另一列(在另一个表中)的完整值联接起来

  •  1
  • John Wick  · 技术社区  · 7 年前

    因此,我目前有一个表,其中包含以下列和条目:

    ROW_ID        CODE           VAL
      1            US             50
      2            CAN            15
      3            MEX            12
    

    我还有一列,列和条目如下:

    ROW_ID       CODE_METADATA         REGION
      1           US|451223123           8
      2          CAN|123123123           7
      3          MEX|41028               3
    

    select t2.nvl(substr(code_metadata, 0, instr(code_metadata, '|')-1), code_metadata) as CODE
     from table1 t1
     join table2 t2 on t1.code = t2.CODE;
    

    提前谢谢!

    2 回复  |  直到 7 年前
        1
  •  2
  •   Barbaros Özhan    7 年前

    您可以加入条件:

    substr(t2.CODE_METADATA,1,instr(t2.CODE_METADATA,'|')-1) = t1.CODE
    
        2
  •  1
  •   dnoeth    7 年前

    您也可以使用以下方式加入:

    t2.CODE_METADATA LIKE t1.CODE || '|%'