达梦merge into 用法:根据指定条件判断原表的数据是否存在于目标表中,如果存在执行更新操作,如果不存在执行插入操作,从而实现数据的合并;
sql....
MERGE INTO目标表
USING 源表
ON (合并条件)
WHEN MATCHED THEN
UPDATE SET (更新操作)
WHEN NOT MATCHED THENINSERT(插入操作)
.....
merge into T_GZXJ_ZHYQ_ZHGW_GXJBQK_CDTJ t1
using (SELECT TYPE ,sum(value) value FROM (
SELECT CASE WHEN LENGTH(replace(replace(TYPE,'大地',''),'洪滩',''))!=4 AND replace(replace(TYPE,'大地',''),'洪滩','')!='冷凝水' THEN concat(replace(replace(TYPE,'大地',''),'洪滩',''),'管线')
WHEN replace(replace(TYPE,'大地',''),'洪滩','')='冷凝水' THEN ' 冷凝水' ELSE replace(replace(TYPE,'大地',''),'洪滩','') END as
TYPE,value FROM t_gzxj_zhyq_zhgw_gxjbqk_xqtj WHERE tjl='管线管径'
) GROUP BY TYPE ORDER BY value DESC) t
on (t."TYPE" = t1."KEYNAME")
when matched then
update set t1."value" = t."value";
oracle merge into用法:
MERGE INTO target_table USING source_table
ON condition
WHEN MATCHED THEN
UPDATE SET Column1 = value1, column2 = value2
WHEN NOT MATCHED THEN
INSERT (column1, column2) VALUES (value1, value2);
mysql 不能使用merge into语句:使用其他替换语句