`
zjx2388
  • 浏览: 1330726 次
  • 性别: 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中用一张表的字段更新另一张表的字段

    在Oracle数据库中,当需要将一个表的字段值更新到另一个表时,通常可以使用`MERGE INTO`语句来实现。`MERGE INTO`是一个非常强大的SQL操作,它结合了`INSERT`、`UPDATE`和`DELETE`的功能,允许你在匹配条件的基础上...

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

    这个语句将`A`表的`extra`字段值复制到`B`表的`extra`字段,前提是`A`和`B`表的`id`字段匹配。 3. **子查询** 方法: ```sql update b set b.sms = (select a.sms from a where a.id = b.id) ``` 此语句通过...

    MySQL 表字段属性.docx

    MySQL 表字段属性是指在 MySQL 数据库中,表的每个字段所具有的特性和约束,包括主键、外键、自动递增、非空、唯一性约束等。 1. 主键(PRIMARY KEY) 主键是表中的一个或多个字段,它的值用于惟一地标识表中的某...

    PGSQL统计一个数据库所有数据库空字段的函数

    该函数名为`findnull()`,其主要作用是统计数据库中所有表的所有字段为空的数量,并将结果存储在一个临时表`TempTable`中。这样可以通过查询临时表来查看哪些表的哪些字段存在空值以及具体的空值数量。 #### 函数...

    如何使用MySQL一个表中的字段更新另一个表中字段

    在MySQL中,更新一个表中的字段值以匹配另一个表中的对应字段值是一项常见的数据库操作,特别是在数据同步或数据整合的情景下。以下是一些关于如何执行这种操作的关键知识点: 1. **基于JOIN的更新**: - 在标题和...

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

    由于`a`和`b`表中可能存在相同的`name`字段,我们使用`as`关键字来重命名`a`表中的`name`字段为`aname`,`b`表中的`name`字段为`uname`,这样在结果集中就可以明确区分这两个字段的来源。 4. `join('b on b.jb_id=a....

    Mysql 根据一个表数据更新另一个表的某些字段(sql语句)

    在MySQL数据库管理中,有时我们需要根据一个表的数据来更新另一个表的特定字段。这通常涉及到数据同步或数据迁移的情况,特别是在维护大型数据库时。本文将详细介绍如何使用SQL语句实现这个功能,通过给出的示例代码...

    SQL常用经典语句

    假设需要从路径`"服务器路径\data.mdb"`中的`b`表复制数据到当前数据库的`b`表中,其中`a`、`b`、`c`是目标表字段,`d`、`e`、`f`是源表字段。 ```sql INSERT INTO b(a, b, c) SELECT d, e, f FROM b IN '"&Server....

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

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

    MySQL表字段设置默认值(图文教程及注意细节)

    在MySQL数据库中,设置表字段的默认值是一个非常实用的功能,它允许你在插入新记录时,如果未显式提供某个字段的值,系统会自动使用预设的默认值。这在许多情况下都能提高数据处理的效率,特别是当你不希望每个字段...

    Join on 连接

    如果`B`表中没有匹配的ID,相应的`B`表字段将是NULL。 3. **RIGHT JOIN**(右外连接): 右外连接与左外连接类似,但反之。它返回右表的所有记录,即使在左表中没有匹配的记录。对于左表中没有匹配的记录,其字段...

    ARCGIS中字段计算器的使用说明.doc

    字段计算器可以在属性表字段点击右键,选择“ FieldCalculator ”,或者通过 Data Management Tools->fields->Calculate Field 打开。 字段计算器提供了多种函数,包括基本函数、字符串函数和日期函数等,每种函数...

    MySQL所支持的数据类型与表字段约束类型的学习教程

    外键是表A中引用表B主键的字段,用于维护数据的一致性和完整性。外键使得两个表之间建立起关联。例如,`uid`在`comment`表中作为外键引用`user`表的主键`uid`。 - **自动递增(AUTO_INCREMENT)**: 自动递增属性...

    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 怎样...

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    这儿的 CASE WHEN 语句用于判断 a 是否等于 1,如果是则返回 a,否则判断表字段是否等于 'asdfasdf',如果是则返回 b。 CASE WHEN 语句还可以用来实现分组统计,例如: ```sql SELECT a, COUNT(*) FROM ( SELECT a...

    mysql数据库表操作语句

    3. **复制字段值**:如果想将表`TabName`中`ColName1`的值设置为`ColName2`的值,可以使用`UPDATE`语句。 ```sql UPDATE TabName SET ColName1 = ColName2; ``` 4. **删除字段**:使用`DROP`子句可以删除表中的...

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

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

Global site tag (gtag.js) - Google Analytics