postgresql 将原表数据根据某字段更新目标表其他字段

该博客介绍了一个SQL更新语句的例子,用于合并两个表的特定字段,并且强调了在`SET`子句中不能使用表别名的规则。内容涉及到JSONB类型的操作和条件过滤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例:

UPDATE prj_odn_fibersegment f set f_aid=f2.f_aid , f_zid=f2.f_zid ,
f_style=(f.f_style::jsonb||concat('{"a_id":"',f2.f_aid,'","z_id":"',f2.f_zid,'"}')::jsonb)
FROM prj_topo_fibersegment f2
WHERE f.f_id=f2.f_id
and f2.f_aid is not null and f2.f_zid is not null and f.f_aid is null and f.f_zid is null

注意:

set后的更新属性不能带表别名,否则报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值