声明:  MySQL4.0之后的版本可以支持下面sql语句进行更新操作

应用场景:

  一个表中的字段需要根据查询结果集进行更新,或者从另一表查询获得  其本质还是更新的数据需要查询获得.  

  例如: user 表中有也用户会员卡数量的字段,而这些数据保存在另一张表membership_card ,membership_card 表的一条记录代表着一个用户拥有某家商店的会员卡.那么要将想更新用户会员卡数量的字段

更新方法有两种

  第一种使用连接关键字,如 left join .....等

  update user t LEFT JOIN
( SELECT COUNT(DISTINCT user_id,shop_id) as a ,user_id
from membership_card
GROUP BY user_id
) t1 on t.id=t1.user_id
set t.membership_cards = t1.a ; COMMIT;

  第二种是直接利用 "," 直接连接"两张表"(查询结果也是张临时表)

  update user t ,
( SELECT COUNT(DISTINCT user_id,shop_id) as a ,user_id
from membership_card
GROUP BY user_id
) t1
set t.membership_cards = t1.a
where t.id=t1.user_id; COMMIT;

最新文章

  1. 纪勇破解QQ号问题
  2. AWS系列之一 亚马逊云服务概述
  3. [转]ms sql 2000 下批量 附加/分离 数据库(sql语句)
  4. dwr使用步骤
  5. jQuery 自定义事件的学习笔记
  6. javascript 第27节 jQuery选择器
  7. java学习笔记 (2) —— Struts2类型转换、数据验证重要知识点
  8. sip演示
  9. cocos2dx ——屏幕适配
  10. html 学习笔记--基础篇
  11. mybatis-spring最新版下载地址
  12. Windows环境安装运行:Angular.js
  13. 面向对象___str__和__repr__
  14. mysql出现“Incorrect key file for table”解决办法
  15. 飞思卡尔单片机P&E开发工具硬件及软件
  16. 【POJ3349】snowflakes
  17. js中有哪几种函数?
  18. [MVC] 自定义ActionSelector,根据参数选择Action
  19. qt——常用的布局方法
  20. Python实现的常用排序方法

热门文章

  1. IE对象最后一个属性后不要加逗号,否则在IE7及以下版本中会报错
  2. android和httpClient
  3. redis的主从复制,读写分离,主从切换
  4. Mysql 5.7.12解压版的安装及配置系统编码
  5. 扩展html 无边框的input 边框
  6. C# 图片超过指定大小将压缩到指定大小不失真
  7. 源码安装Redis
  8. [51nod1515]明辨是非
  9. 【BZOJ-1670】Building the Moat护城河的挖掘 Graham扫描法 + 凸包
  10. org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。