mysql联合其他表做更新
在sql server中,我们可是使用以下update语句对表进行更新:
update a set a.xx= (select yy from b) where a.id = b.id ;
但是在mysql中,不能直接使用set select的结果,必须使用inner join:
UPDATE tt_vmap_connect_doc d INNER JOIN (
SELECT
if(ct.vehicle_site_distance IS not NULL,
if(ct.vehicle_site_distance > 1000,2,1),
if(LOCATE('xx',rd.vehicle_number) > 0,1,
if(LOCATE('yyyy',rd.fault_names) > 0,1,2)
)
) as gps,
ct.id
FROM tt_vmap_connect_doc ct
INNER JOIN tt_vmap_order_doc od ON ct.order_id = od.id
INNER JOIN tt_vmap_repair_doc rd ON rd.id = od.repair_id
) c ON c.id = d.id SET d.gps_coincide = c.gps,d.reference_value = 1000;
另外mysql更新多个字段也不能用括号确定多个字段,而必须一个一个set
update a set(a.province,a.city)=(select province,city from b where b.mobile=a.mobile) --不可用于mysql update a set a.province=b.province,a.city=b.city from a inner join b on a.mobile=b.mobile.
或者update a set a.province=b.province,a.city=b.city from a,b where a.mobile=b.mobile.
mysql联合其他表做更新的更多相关文章
- MYSQL查看数据表最后更新时间
		
MYSQL查看数据表最后更新时间 - 拨云见日 - CSDN博客 https://blog.csdn.net/warnerwu/article/details/73352774 mysql> S ...
 - MYSQL联合多表更新和删除(转)
		
文章转自http://www.cnblogs.com/andy_tigger/archive/2011/05/11/2043483.html 多表更新在 MySQL 3.23 中,你可以使用 LIMI ...
 - MySQL联合多表更新和删除
		
多表更新 在 MySQL 3.23 中,你能够使用 LIMIT # 来确保仅仅有给定的记录行数目被更改. 假设一个 ORDER BY 子句被使用(从 MySQL 4.0.0 開始支持),记录行将以指定 ...
 - MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)
		
有两张表,info1, info2 . info1: info2: 现在,要用info2中的数据更新info1中对应的学生信息,sql语句如下: UPDATE info1 t1 JOIN info2 ...
 - mysql update 多表关联更新
		
UPDATE new_schedules_spider_static_schedule s join new_scac_port p on p.`PORT` = s.`PORT` and p.SCAC ...
 - MySQL中的多表插入更新与MS-SQL的对比
		
MySQL多表插入: INSERT INTO tdb_goods_cates (cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_c ...
 - 思考--mysql 分库分表的思考
		
查询不在分库键上怎么办,扫描所有库?由于分库了,每个库扫描很快?所以比单个表的扫描肯定快,可以这样理解吗. 多表jion怎么弄,把内层表发给每个分库吗? citus,tidb 都有这些问题,citus ...
 - Mysql的跨表更新
		
本文介绍mysql多表 update在实践中几种不同的写法. 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是ProductPrice表,我们要将Pro ...
 - MySQL 多表关联更新及删除
		
目录: <MySQL中的两种临时表> <MySQL 多表关联更新及删除> <mysql查询优化之三:查询优化器提示(hint)> 一. 多表关联更新 问题 ...
 
随机推荐
- [mmc/sdio]Linux下的sdio和mmc
			
http://www.cnblogs.com/RandyQ/p/3607107.html
 - QListView和QListWidget的区别
			
QListView是基于Model,而QListWidget是基于Item.这是它们的本质区别. 往QListView中添加条目需借助QAbstractListModel: 如: MainWindow ...
 - webservice文件上传下载
			
使用DataHandler实现webservice的文件上传下载 服务端代码: package com.hello.weChat.controller; import javax.activation ...
 - am335x  alsa codec调试
			
root@phyCORE-AM335x:~ aplay -l**** List of PLAYBACK Hardware Devices ****card 0: audio [PCM051 audio ...
 - yum whatprovides host 根据命令查找包
			
[root@Cobbler ~]# yum whatprovides host Loaded plugins: fastestmirror Loading mirror speeds from cac ...
 - 本机添加多个git仓库账号
			
我们可能会需要在一台电脑上以不同的github账户去使用git,这时就需要去解决如何管理本机上的多个ssh key的问题了. 生成新ssh key 如果我们电脑上已经存在了一个ssh key,那么我们 ...
 - 【BZOJ】1492: [NOI2007]货币兑换Cash(cdq分治)
			
http://www.lydsy.com/JudgeOnline/problem.php?id=1492 蒟蒻来学学cdq神算法啊.. 详见论文 陈丹琦<从<Cash>谈一类分治算法 ...
 - 查看SQLServer数据库每个表占用的空间大小
			
创建存储过程: CREATE PROCEDURE [dbo].[sys_viewTableSpace] AS BEGIN SET NOCOUNT ON; CREATE TABLE [dbo].#tab ...
 - hdu 1201:18岁生日(水题,闰年)
			
18岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
 - 【cb2】扩展硬盘
			
1.硬盘为sata串口 2.参考 http://docs.cubieboard.org/tutorials/ct1/installation/moving_rootfs_from_nandflash_ ...