Oracle用一个表的一个字段值去更新另一张表的某个字段值

来源:互联网 发布:田岛7.0绣花软件 编辑:程序博客网 时间:2024/05/22 14:33

我是这么写的:

 UPDATE TABLE1 T1 SET T1.COL11= SUBSTR((SELECT TO_CHAR(T2.ENDTIME,'YYYYMMDD') FROM TABLE2 T2 WHERE T1.MAPCODE = T2.PROJECTID AND T2.MAPSHEETFLAG IS NULL),0,6) WHERE EXISTS (SELECT TO_CHAR(T2.ENDTIME,'YYYYMMDD') FROM TABLE2 T2 WHERE T1.MAPCODE = T2.PROJECTID AND T2.MAPSHEETFLAG IS NULL);


这里,表TABLE1即T1是图幅元数据表,表TABLE2即T2是范围线工程表。现在需要将T2的EndTime(包括年月日时分秒在内的完整的时间类型)格式化为YYYYMMDD形式,并取前6位,即年月(如201705),赋值给T1的COL1字段。赋值的条件是T1的MAPCODE与T2的PROJECTID相等,且T2的MAPSHEETFLAG标记值不为空,且查询结果存在。

阅读全文
0 0
原创粉丝点击