在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.

最新文章

  1. css 垂直水平居中总结
  2. Oracle update和order by
  3. 华为oj 挑7
  4. Redis中的客户端redis-cli 命令总结
  5. SQL内部拼接执行SQL语句时,实现变量参数化
  6. 搬家至个人独立博客virson.cn
  7. 关于NSDate和NSDateFormatter的几个常用方法
  8. httpcomponents 学习1--并发多线程GET
  9. Objective-C排序算法实现
  10. expdp 备份数据库
  11. nginx的使用配置
  12. 夜未央Test1
  13. maven的三大生命周期
  14. map的常用方法
  15. headfirst设计模式(4)—工厂模式
  16. 微信第三方全网发布接入检测(PHP)
  17. .NET Core 迁移躺坑记续集--Win下莫名其妙的超时
  18. jquery:为动态加载的元素添加点击事件
  19. DROP语句总结
  20. CDOJ--1550&&1731

热门文章

  1. Easy UI分页控件修改刷新方法后触发两次请求
  2. 将php和mysql命令加入到环境变量中
  3. 树形dp - BNU 39572 Usoperanto
  4. C++ 类的继承四(类继承中的重名成员)
  5. 一个线程可以拿到多个锁标记,一个对象最多只能将monitor给一个线程
  6. 嵌入式驱动开发之采集方式bypass mode---bypass mode
  7. ACM计算几何模板——圆和球
  8. 使用Audio API设计绚丽的HTML5音乐播放器
  9. 85、android handler的警告Handler Class Should be Static or Leaks Occur
  10. Fiddler实现手机抓包——小白入门 - 做一个不动声色的大人