文档章节

Update 两个表之间数据更新

simpower
 simpower
发布于 2015/05/20 18:57
字数 294
阅读 46
收藏 1
点赞 0
评论 0

access

UPDATE house, table1 SET house.上月表底 = table1.表底
WHERE table1.年份=CStr('2015') and table1.月份=CStr('5') and house.户号=table1.户号;

 

一、当用一个表中的数据来更新另一个表中的数据,T-SQL提供多种写法(下面列出了二种),但建议用第一种写法,虽然传统,但结构清晰。

并且要注意,当用一个表中的数据来更新另一个表中的数据时,二个表一定要有关联!

1.


update t1   
        set t1.c2 = t2.c2  
      from t2  
where t1.c1 = t2.c1 

2.


Update t1   
        set t1.c2 = t2.c2  
from t1 inner join t2   
        on t1.c1 = t2.c1 

二、FROM 子句中指定的表的别名不能作为 SET column_name 子句中被修改字段的限定符使用。
    例如,下面的内容无效:


UPDATE titles  
SET t.ytd_sales = t.ytd_sales + s.qty  
FROM titles t, sales s  
WHERE t.title_id = s.title_id  
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales) 

若要使上例合法,请从列名中删除别名 t 或使用本身的表名。
1.


UPDATE titles  
SET ytd_sales = t.ytd_sales + s.qty  
FROM titles t, sales s  
WHERE t.title_id = s.title_id  
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales) 

2.


UPDATE titles  
SET titles.ytd_sales = t.ytd_sales + s.qty  
FROM titles t, sales s  
WHERE t.title_id = s.title_id  
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)

© 著作权归作者所有

共有 人打赏支持
simpower
粉丝 24
博文 422
码字总数 20115
作品 0
海淀
程序员
学习SQL【5】-数据更新

学习.png 数据的更新处理大体可以分为插入(INSERT)、删除(DELETE)和更新(UPDATE)三类,此外,还会给大家介绍数据库中用来管理数据更新的重要概念—事务。 一:数据的插入(INSERT语句)...

爱吃西瓜的番茄酱 ⋅ 2017/12/06 ⋅ 0

《MySQL必知必会》读书笔记(三) 15~21章

1、外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。通过外键查找: SELECT vendname, prodname, pridprice FROM vendors, products WHERE vendors.vendid = produ...

一万 ⋅ 2016/02/07 ⋅ 0

SQL求职总结

DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。 查询...

NineRec ⋅ 2014/09/19 ⋅ 1

mysql存在则更新,不存在则插入

INSERT INTO ON DUPLICATE KEY UPDATE 与 REPLACE INTO,两个命令可以处理重复键值问题,在实际上它之间有什么区别呢? 前提条件是这个表必须有一个唯一索引或主键。 unique 1、REPLACE发现重...

LCZ777 ⋅ 2015/09/22 ⋅ 0

MyCat_全局表及其死锁问题

全局表 全局表说明 全局表配置使用type='global' 全局表数据增加或者修改时,节点之间保持数据一致 全局表只适合修改不频繁的表,例如字典表 全局表死锁 为了保持数据的一致性,当全局表更新...

sand_ant ⋅ 2016/06/22 ⋅ 0

SQL学习之一基础命令

一、SQL语法 1、数据库表 一个数据库通常包含一个或多个表。每个表由一个名字标识,表包含带有数据的行。 2、大小写 SQL对大小写不敏感。 3、SQL语句后的分号 某些数据库要求在每条SQL命令的...

起名zhen难 ⋅ 2016/08/11 ⋅ 0

mysql foreign key(外键) 说明与实例

mysql foreign key(外键) 说明与实例 一,什么是foreign key,及其完整性 个人觉得,foreign key就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完...

henosteven ⋅ 2012/08/27 ⋅ 0

SQL Server 触发器

触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 Ø 什么是触发器 触发器对...

有资本再款 ⋅ 2014/05/16 ⋅ 0

execute、executeQuery和executeUpdate之间的区别

在用纯JSP做一个页面报警功能的时候习惯性的用executeQuery来执行SQL语句,结果执行update时就遇到问题,语句能执行,但返回结果出现问题,另外还忽略了executeUpdate的返回值不是结果集Res...

紫地瓜 ⋅ 2012/11/23 ⋅ 0

ORALCE如何update两个表的数据

以前只会写一些简单的updaet语句,比如updae table set c1='XXX' 之类的 今天遇到一个数据订正的问题,项目背景如下,有个表A,有两个字段a1,a2还有一个关联表B,其中也有两个字段,b1和b2。...

王小明123 ⋅ 2013/03/01 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

BS与CS的联系与区别【简】

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、InFORMix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/...

anlve ⋅ 41分钟前 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部