• sql update select(使用select结果进行update)


    1.情景展示

      现在有一需求:

      如上图所示,需将指定记录集的指定字段更新成该条记录的对应的字段值,使用一条sql如何实现?

    2.原因分析

      要更新的记录及字段:

      将要更新的字段值: 

         

    3.oracle

    UPDATE CZ_UNITINFO 
    SET ( APPID, APPKEY, CODE_CZ, CRECODE, `X509`, BILLCODE )=(
    	SELECT
    		T2.APPID,
    		T2.APPKEY,
    		T2.CODE_CZ,
    		T2.CRECODE,
    		T2.`X509`,
    		T2.BILLCODE 
    	FROM
    		CZ_UNITINFO T2 
    	WHERE
    		T2.INVOICINGPARTYNAME = '平舆县阳城镇中心卫生院' 
    	) 
    WHERE
    	INVOICINGPARTYNAME LIKE '%尉氏%';

    4.mysql

      需要使用内连接INNER JOIN才能实现:

      把查询结果放到内联接中,我这里只有单条查询结果,如果是多条查询结果的话,要想实现一一对照进行更新,where条件就需要将t2表和t1表进行关联了;

    UPDATE CZ_UNITINFO2 T1
    INNER JOIN ( SELECT APPID, APPKEY, CODE_CZ, CRECODE, `X509`, BILLCODE FROM CZ_UNITINFO2 WHERE INVOICINGPARTYNAME = '阿里巴巴' ) T2 
    SET T1.APPID = T2.APPID,
    T1.APPKEY = T2.APPKEY,
    T1.CODE_CZ = T2.CODE_CZ,
    T1.CRECODE = T2.CRECODE,
    T1.`X509` = T2.`X509`,
    T1.BILLCODE = T2.BILLCODE 
    WHERE
    	T1.INVOICINGPARTYNAME LIKE '%腾讯%';
    

    写在最后

      哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

     相关推荐:

  • 相关阅读:
    APP的LOGO设计需求
    App 中使用 Iconfont 的整套方案
    UI流程总结
    sketch制作LOGO(一)---环形光晕
    Sketch插件--Rename It
    Sketch Measure使用教程
    04 流程控制
    03 python语法注释、用户交互、格式化输出、基本数据类型、运算符
    02编程语言及python初识
    第一课
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/14793997.html
Copyright © 2020-2023  润新知