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数据库中,当需要将一个表的字段值更新到另一个表时,通常可以使用`MERGE INTO`语句来实现。`MERGE INTO`是一个非常强大的SQL操作,它结合了`INSERT`、`UPDATE`和`DELETE`的功能,允许你在匹配条件的基础上...
这个语句将`A`表的`extra`字段值复制到`B`表的`extra`字段,前提是`A`和`B`表的`id`字段匹配。 3. **子查询** 方法: ```sql update b set b.sms = (select a.sms from a where a.id = b.id) ``` 此语句通过...
该函数名为`findnull()`,其主要作用是统计数据库中所有表的所有字段为空的数量,并将结果存储在一个临时表`TempTable`中。这样可以通过查询临时表来查看哪些表的哪些字段存在空值以及具体的空值数量。 #### 函数...
MySQL 表字段属性是指在 MySQL 数据库中,表的每个字段所具有的特性和约束,包括主键、外键、自动递增、非空、唯一性约束等。 1. 主键(PRIMARY KEY) 主键是表中的一个或多个字段,它的值用于惟一地标识表中的某...
在MySQL中,更新一个表中的字段值以匹配另一个表中的对应字段值是一项常见的数据库操作,特别是在数据同步或数据整合的情景下。以下是一些关于如何执行这种操作的关键知识点: 1. **基于JOIN的更新**: - 在标题和...
由于`a`和`b`表中可能存在相同的`name`字段,我们使用`as`关键字来重命名`a`表中的`name`字段为`aname`,`b`表中的`name`字段为`uname`,这样在结果集中就可以明确区分这两个字段的来源。 4. `join('b on b.jb_id=a....
在MySQL数据库管理中,有时我们需要根据一个表的数据来更新另一个表的特定字段。这通常涉及到数据同步或数据迁移的情况,特别是在维护大型数据库时。本文将详细介绍如何使用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....
like ''a%'' 使用索引 like ''%a'' 不使用索引用 like ''%a%'' 查询时,查询耗时和字段值总长度成正比,所以不能用CHAR类型,而是VARCHAR。对于字段的值很长的建全文索引。 9、DB Server 和APPLication Server ...
在MySQL数据库中,设置表字段的默认值是一个非常实用的功能,它允许你在插入新记录时,如果未显式提供某个字段的值,系统会自动使用预设的默认值。这在许多情况下都能提高数据处理的效率,特别是当你不希望每个字段...
如果`B`表中没有匹配的ID,相应的`B`表字段将是NULL。 3. **RIGHT JOIN**(右外连接): 右外连接与左外连接类似,但反之。它返回右表的所有记录,即使在左表中没有匹配的记录。对于左表中没有匹配的记录,其字段...
字段计算器可以在属性表字段点击右键,选择“ FieldCalculator ”,或者通过 Data Management Tools->fields->Calculate Field 打开。 字段计算器提供了多种函数,包括基本函数、字符串函数和日期函数等,每种函数...
外键是表A中引用表B主键的字段,用于维护数据的一致性和完整性。外键使得两个表之间建立起关联。例如,`uid`在`comment`表中作为外键引用`user`表的主键`uid`。 - **自动递增(AUTO_INCREMENT)**: 自动递增属性...
12.1.10 刷新了数据透视表,然后计算字段显示为错误值 280 12.2 数据透视表常见问题解答 281 12.2.1 怎样让数据透视表自动刷新 281 12.2.2 怎样才能同时刷新一个工作簿中的所有数据透视表 281 12.2.3 怎样...
12.1.10 刷新了数据透视表,然后计算字段显示为错误值 280 12.2 数据透视表常见问题解答 281 12.2.1 怎样让数据透视表自动刷新 281 12.2.2 怎样才能同时刷新一个工作簿中的所有数据透视表 281 12.2.3 怎样...
12.1.10 刷新了数据透视表,然后计算字段显示为错误值 280 12.2 数据透视表常见问题解答 281 12.2.1 怎样让数据透视表自动刷新 281 12.2.2 怎样才能同时刷新一个工作簿中的所有数据透视表 281 12.2.3 怎样...
3. **复制字段值**:如果想将表`TabName`中`ColName1`的值设置为`ColName2`的值,可以使用`UPDATE`语句。 ```sql UPDATE TabName SET ColName1 = ColName2; ``` 4. **删除字段**:使用`DROP`子句可以删除表中的...
这儿的 CASE WHEN 语句用于判断 a 是否等于 1,如果是则返回 a,否则判断表字段是否等于 'asdfasdf',如果是则返回 b。 CASE WHEN 语句还可以用来实现分组统计,例如: ```sql SELECT a, COUNT(*) FROM ( SELECT a...
12.1.10 刷新了数据透视表,然后计算字段显示为错误值 280 12.2 数据透视表常见问题解答 281 12.2.1 怎样让数据透视表自动刷新 281 12.2.2 怎样才能同时刷新一个工作簿中的所有数据透视表 281 12.2.3 怎样...