问题描述
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
解决方法
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