【问题标题】:Updating a JSONB object with multiple joins使用多个连接更新 JSONB 对象
【发布时间】:2020-08-16 03:08:56
【问题描述】:

我有以下疑问 -

update ms
set data = json_build_object('OTHER', 29.8, 'other_PCT', '', 'MEDI_PCT', 11.4,  'COMMERCIAL', commercial_percent, 'NPI Commercial_PCT', '')
from ms
join mkt
on ms.data_id = mkt.id
join mix pm
on pm.npi = mkt.npi
and ms.data_id = 6000
and dataset_id = 20

我得到的错误是

table name "ms" specified more than once

【问题讨论】:

    标签: sql postgresql join sql-update


    【解决方案1】:

    As documented in the manual在FROM子句中不要重复要更新的表:

    update ms
      set data = json_build_object('OTHER', 29.8, 'other_PCT', '', 'MEDI_PCT', 11.4,  'COMMERCIAL', commercial_percent, 'NPI Commercial_PCT', '')
    from mkt
      join mix pm on pm.npi = mkt.npi
    WHERE ms.data_id = mkt.id --<< this replaces your original join between ms and mkt
      and ms.data_id = 6000
      and dataset_id = 20
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多