`
zjx2388
  • 浏览: 1304751 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

A表字段更新为B表的字段值

 
阅读更多

T1表 结构

id      name       school

1       ming1      清华大学

2       ming2       北京大学

3       ming3       复旦大学

 

T2表  结构

id      student    school

11     ming1      牛津大学

12     ming3       剑桥大学

 

T1表的name 和 T2表的 student  值是 1对1 的对应。

需求:这两个字段的值相同时,根据B表的school更新A表的school。

语句:

update t1  set school = (select school from t2 where name=student) where  exists (select * from t2 as b where name = b.student);

结果:

 

T1表 结构

id      name       school

1       ming1      牛津大学

2       ming2       北京大学

3       ming3       剑桥大学

 

注意:

条件里不要再加本身要更新的表,

 

PS:

关联查询语句:

select aii.update_time,pn.public_time,pn.* from t_apply_item_instance aii, t_public_notice pn where pn.apply_item_instance_uuid = aii.uuid and
 aii.apply_item_uuid in ('0101','0102','0103','0104','0105','0106','0201','0202','0203','0204','0205','0206') and aii.apply_status = 21
 and pn.public_type = 1

 

更新语句:

update t_public_notice set public_time =
(select aii.update_time from t_apply_item_instance aii where apply_item_instance_uuid = aii.uuid and
 aii.apply_item_uuid in ('0101','0102','0103','0104','0105','0106','0201','0202','0203','0204','0205','0206') and aii.apply_status = 21
 and public_type = 1 )
 where exists
 (select t1.* from t_apply_item_instance as t1 where apply_item_instance_uuid = t1.uuid and
 t1.apply_item_uuid in ('0101','0102','0103','0104','0105','0106','0201','0202','0203','0204','0205','0206') and t1.apply_status = 21
 and public_type = 1)

 

update的表在后面的条件里面是没有了的

 

分享到:
评论

相关推荐

    Oracle中用一张表的字段更新另一张表的字段

     那么,有什么办法能将测试库中该字段的值更新到开发库中呢?  SQL Server中这是比较容易解决的,而Oracle中不知道方法了。  SQL Server中类似问题的解决方法  后来只好用笨的方法:  首先,将数据复制到...

    mysql导出指定数据或部份数据的方法

    1、新建一个表,比如new-table,包含所要导出的字段的名称,比如a,b,c 2、使用insert into new-table (a,b,c) select a,b,c from old-table; 3、剩下的步骤就是导出这个新的表,然后进行文本的处理 方法二、使用...

    mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法

    需求:把一个表某个字段内容复制到另一张表的某个字段。 实现sql语句1: 代码如下:UPDATE file_manager_folder f1LEFT OUTER JOIN file_manager_folder f2 ON f1.name = f2.name AND f2.parentId = 54SET f1.parentId...

    thinkphp多表查询两表有重复相同字段的完美解决方法

    框架:thinkphp 版本:3.2.3 内容:查询语句 ...a.name as aname 转换a表中的name重复字段为aname 以上就是小编为大家带来的thinkphp多表查询两表有重复相同字段的完美解决方法的全部内容了,希望对大家

    SQL Server数据库查询速度慢原因及优化方法

    like ''a%'' 使用索引 like ''%a'' 不使用索引用 like ''%a%'' 查询时,查询耗时和字段值总长度成正比,所以不能用CHAR类型,而是VARCHAR。对于字段的值很长的建全文索引。 9、DB Server 和APPLication Server ...

    数据库表设计.docx

    1)将一个表字段设为主键要求在表创建的时候就进行设置。 2) 一个表里被设为主键的字段的值必须是唯一的,也就是说如果一个字段被设为主键,这个表所有的数据列表里这个字段的值不可能有重复的。 3) 被设为主键的...

    Excel 2007数据透视表完全剖析 1/7

    12.1.10 刷新了数据透视表,然后计算字段显示为错误值 280 12.2 数据透视表常见问题解答 281 12.2.1 怎样让数据透视表自动刷新 281 12.2.2 怎样才能同时刷新一个工作簿中的所有数据透视表 281 12.2.3 怎样...

    Excel 2007数据透视表完全剖析 3/7

    12.1.10 刷新了数据透视表,然后计算字段显示为错误值 280 12.2 数据透视表常见问题解答 281 12.2.1 怎样让数据透视表自动刷新 281 12.2.2 怎样才能同时刷新一个工作簿中的所有数据透视表 281 12.2.3 怎样...

    Excel 2007数据透视表完全剖析 5/7

    12.1.10 刷新了数据透视表,然后计算字段显示为错误值 280 12.2 数据透视表常见问题解答 281 12.2.1 怎样让数据透视表自动刷新 281 12.2.2 怎样才能同时刷新一个工作簿中的所有数据透视表 281 12.2.3 怎样...

    Excel 2007数据透视表完全剖析 4/7

    12.1.10 刷新了数据透视表,然后计算字段显示为错误值 280 12.2 数据透视表常见问题解答 281 12.2.1 怎样让数据透视表自动刷新 281 12.2.2 怎样才能同时刷新一个工作簿中的所有数据透视表 281 12.2.3 怎样...

    能耗数据库设计资料.doc

    能耗数据库设计 1 数据表及字段前缀说明 T_*_**:T-Table(数据库表) F-Field(数据表字段) T_DC_**:DC-Data Center(数据中心) T_BD_**:BD-Building(建筑) T_DT_**:DT-Dictionary(字典) T_EC_**:EC-...

    mysql数据库的基本操作语法

    也就是说从表的外键值必须在主表中能找到或者为空。 当主表的记录被从表参照时,主表的记录将不允许删除,如果要删除数据,需要先删除从表中依赖该记录的数据, 然后才可以删除主表的数据。还有一种就是级联删除子表...

    Linux系统C语言编程连接MySql数据库实现的用户用户组色权限管理系统(图形界面)

    4、修改了用户的表字段信息,新增了认证方式的字段; 5、用户有三种认证方式,当选择口令认证的时候,syn_sn_有输入信息,当选择KEY认证的时候,dyn_pass_sn_字段有输入信息 3、userGroupUser_intfac 文件: ...

    精髓Oralcle讲课笔记

    -- (函数max() 求出emp表中sal字段的最大值) 46、select min(sal) from emp; -- (函数max() 求出emp表中sal字段的最小值) 47、select avg(sal) from emp; --(avg()求平均薪水); 48、select to_char(avg(sal),...

Global site tag (gtag.js) - Google Analytics