内容简介

本文主要展示了在MySQL中,使用两表联合的方式来更新其中一个表字段值的SQL语句。

也就是update table1 join table2 on table1.col_name1=table2.col_name1 set col_name1=expr1 [, col_name2=expr2 ...] [where where_definition]的使用方法。

本例中,关联表中使用了group by分组。

表字段说明

  t_performance_evaluation表

first_level_target为一级分类,second_level_target为二级分类,second_star_setting为二级分类的星级值

third_level_target为三级分类,third_star_setting为三级分类的星级值

更新需求:

更新一个二级分类的星级值(second_star_setting),更新值为该二级分类下所有三级分类中取最大的星级值(third_star_setting取最大)

如上图蓝底部分,将third_star_setting字段的4.5更新到second_star_setting字段(是三条记录都要更新哦)

update语句

更新SQL语句如下:

#更新二级分类星级值(取该二级分类下所有三级分类中最大的星级值)
UPDATE t_performance_evaluation AS t1
INNER JOIN ( SELECT second_level_target, MAX( third_star_setting ) AS third_star_setting FROM t_performance_evaluation WHERE second_level_target = '专利申请量' ) t2
ON t1.second_level_target = t2.second_level_target
SET t1.second_star_setting = t2.third_star_setting
WHERE
t1.second_level_target = '专利申请量';

结果如下图:

可以看到,second_star_setting的值(三条记录)都更新成了4.5

一个MySQL中两表联合update的例子(并带有group by分组)的更多相关文章

  1. Oracle中如何实现Mysql的两表关联update操作

    在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...

  2. mysql中两表更新时产生的奇葩问题,产生死锁!

    如下一个两表更新语句 UPDATE hzxm201610 a,xmhzylb1201610 b SET a.gk07_1_6=b.gk04_11,a.gk07_2_6=b.f06_1,a.gk07_3 ...

  3. Sqlite数据多表联合update

    其实在Mysql中,多表联合update不是什么难事. 语法: 1 UPDATE table_references SET col_name1=expr1 [, col_name2=expr2 ... ...

  4. MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例

    有二三年没写代码了,**内的工作就是这样,容易废人!看到园子里这么多大侠朝气蓬勃的,我想也要学点东西并和大家分享,共同进步!快乐每一天,进步每一天!言归正传! 通过最近一段时间对MVC5.EF6的学习 ...

  5. MyBatis 中两表关联查询MYSQL (14)

    MyBatis 中两表关联查询MYSQL 1.创建数据库表语句 2.插入测试数据 3.pom文件内容 <?xml version="1.0" encoding="U ...

  6. Oracle一个事务中的Insert和Update执行顺序

    今天碰到了一个奇怪的问题,是关于Oracle一个事务中的Insert和Update语句的执行顺序的问题. 首先详细说明下整个过程: 有三张表:A,B,C,Java代码中有一段代码是先在表A中插入一条数 ...

  7. MySQL中ON DUPLICATE KEY UPDATE使用

    今天做推断插入用到了MySQL中ON DUPLICATE KEY UPDATE,如今Mark下面! 假设你想做到数据库中没有数据的话插入数据.有数据的话更新数据,那么你能够选择ON DUPLICATE ...

  8. Mysql中两个select语句的连接

    Mysql中两个select语句连接需要用到操作符 SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥 ...

  9. MySQL中多表删除方法(转载)

    如果您是才接触MySQL数据库的新人,那么MySQL中多表删除是您一定需要掌握的,下面就将为详细介绍MySQL中多表删除的方法,供您参考,希望对你学习掌握MySQL中多表删除能有所帮助. 1.从MyS ...

随机推荐

  1. java:练习学校学生

    java:练习学校学生 一个学生对应一个学校 一个学校对应多个学生 Student类,School类,Demo测试类 Student: public class Student { private S ...

  2. Java 学习摘要

    //导入 import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; Date dt= ...

  3. 一 Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  4. hdu 4514 湫湫系列故事――设计风景线(求树的直径)

    随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好.  现在已经勘探确定了n个位置 ...

  5. 关于输出用%lf和%f的问题

    关于输入,float用%f,double用%lf 而输出时,无论是float还是double,都用%f 原文请见:http://poj.org/showmessage?message_id=12692 ...

  6. codeforces 655C C. Enduring Exodus(二分)

    题目链接: C. Enduring Exodus time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  7. SQL语言方方面面

    1 数据库和SQL 1.1 数据库 DB, DBMS DBMS的种类: 层次性数据库, 关系型数据库, 非关系型数据库 RDBMS, 关系数据库管理系统 1.2 数据库的结构 RDBMS常见的系统结构 ...

  8. ACM学习历程—BZOJ 2115 Xor(dfs && 独立回路 && xor高斯消元)

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2115 题目大意是求一条从1到n的路径,使得路径xor和最大. 可以发现想枚举1到n的所有路 ...

  9. IDEA使用maven中tomcat插件来启动服务器配置

    一 .在项目pom文件中配置tomcat 先添加如下配置: <!-- 配置Tomcat插件 --> <build> <plugins> <plugin> ...

  10. Android App在Google App Store中搜不到

    情景:Android App在Google App Store上架成功,三星手机可以在Google App Store中搜索到,但是三星tablet却无法在Google App Store中搜索到,目 ...