ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2021-05-21 15:32:35  阅读:288  来源: 互联网

标签:CODE X509 APPID T2 update T1 CZ sql select


 

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 '%腾讯%';

  另外,需要注意的是:inner join()里的表不能使用别名。

写在最后

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

 相关推荐:

 

 

标签:CODE,X509,APPID,T2,update,T1,CZ,sql,select
来源: https://www.cnblogs.com/Marydon20170307/p/14793997.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有