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

SQL-如何使用条件进行左联接?

  •  0
  • RxT  · 技术社区  · 6 年前

    我有两张桌子:rais.rais_vinculo和code.division

    葡萄干 我拥有这个领域” 代码 “值从1000到99999。

    分开 我拥有这个领域” 代码

    我想做一个 left join() 通过匹配第一个数字将“描述”字段与“代码”放在一起。示例:如果“9000”或“9999”与“9”和“99999”或“99211”与“99”匹配

    代码|说明

    ... | ...

    99 |其他

    代码

    1000个

    ....

    99999个

    代码|说明_代码

    ... | ...

    9000 |工业

    9999 |工业

    10000 |商业

    999999 |其他

    我已经拥有的:

    UPDATE rais.rais_vinculo
    SET description_code = division.description
    FROM code.division WHERE CODE = code 
    
    1 回复  |  直到 6 年前
        1
  •  5
  •   Gordon Linoff    6 年前

    你为什么要 left join

    update rais.rais_vinculo rv
        set descricao_cnae_divisao = d.descricao
        from cnae.divisao d
        where floor("CNAE.2.0.Classe" / 1000) = cnae;