`
lhx1026
  • 浏览: 301017 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

[转]关于使用多表做update的语法

阅读更多

原文地址:http://kitesky.itpub.net/post/909/15065

 

一、当用一个表中的数据来更新另一个表中的数据,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)

分享到:
评论

相关推荐

    ORACLE UPDATE 语句语法与性能分析看法

    ORACLE UPDATE 语句语法与性能分析看法

    VFP语法Selet,delete,Update等语法,方便学习

    VFP语法。 VFP语法。 VFP语法。 VFP语法。 VFP语法。 VFP语法。 VFP语法。 VFP语法。

    ORACLE_UPDATE_语句语法与性能分析

    ORACLE_UPDATE_语句语法与性能分析

    Mysql联表update数据的示例详解

    在MySQL中,可以在 UPDATE语句 中使用JOIN子句执行跨表更新。MySQL UPDATE JOIN的语法如下: UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition 更...

    sql语法大全一览表

    比较全面的SQL语法,SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据

    ORACLE和SQL Server的语法区别

    1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部联接语法。 3. 用相应 SQL Server 函数替代 Oracle 函数。 4. 检查所有的比较...

    sql语法 sql语法大全

    sql语法 sql 语法 大全 select update from

    update语句

    NULL 博文链接:https://tianshi-kco.iteye.com/blog/2062057

    SQL语句语法.doc

    13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取有关列的信息) 13.3.2. USE语法 13.4. MySQL事务处理和锁定语句 13.4.1. START TRANSACTION, COMMIT和ROLLBACK语法 13.4.2. 不能回滚...

    深入mysql ON DUPLICATE KEY UPDATE 语法的分析

    mysql “ON DUPLICATE KEY UPDATE” 语法如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列...

    mysql数据库的基本操作语法

    唯一约束不仅可以在一个表内创建,而且可以同时多表创建组合唯一约束。 MySQL会给唯一约束的列上默认创建一个唯一索引; create table temp ( id int not null, name varchar(25), password varchar(16), --使用表级...

    Databricks-Update-and-Announcing-Databricks-Cloud-Ion-Stoica000

    2014年Spark Summit于6月30日至7月2日在美国旧金山举行。Spark、Shark、Spark流媒体和相关项目及产品的主要用户聚集一地,共同探讨Spark项目开发的方向,以及Spark在各种各样应用程序中的实践情况。

    mysql修改语句-mysql

    在 MySQL中,可以使用 UPDATE 语句来修改、更新一个或多个表的数据。 基础语法 UPDATE 语句的基本语法 使用 UPDATE 语句修改单个表,语法格式为: UPDATE <表名> SET 字段 1=值 1 [,字段 2=值 2… ] [WHERE 子句...

    在Python中操作字典之update()方法的使用

    下面的例子显示了update()方法的使用 #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7} dict2 = {'Sex': 'female' } dict.update(dict2) print Value : %s % dict 当我们运行上面的程序,它会产生以下结果: ...

    MySQL语法语句大全

    MySQL语法语句大全:是mysql初级学者速成的一本很好的教材。

    python中update的基本使用方法详解

    前言 ...以下实例展示了 update() 方法的使用方法: d = {‘one':1,'two':2} d.update({‘three':3,'four':4}) # 传一个字典 print(d) d.update(five=5,six=6) # 传关键字 print(d) d.update([(‘se

    oracle和SQL的语法区别

    1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部联接语法。 3. 用相应 SQL Server 函数替代 Oracle 函数。 4. 检查所有的比较...

    Oracle_PLSQL_语法详细手册

    oracle_PLSQL_语法详细手册 目 录 第一部分 SQL语法部分 3 一、 CREATE TABLE 语句 3 二、 CREATE SEQUENCE语句 5 三、 CREATE VIEW语句 6 四、 INSERT语句: 7 五、 UPDATE语句: 9 六、 DELETE语句: 10 七、 ...

    VBA帮助(很详细的VBA语法介绍)

    很详细的VBA语法介绍: 一、VBA入门知识 。。。 二、了解对象、属性、方法和事件 1、了解对象、属性、方法和事件 2、Application 对象 3、Workbook 对象 4、Workbooks 属性 5、Range 对象 6、Range 属性 7、Cells ...

    update_alias.patch

    博客:PostgreSQL的学习心得和知识总结(四十)|语法级自上而下完美实现MySQL数据库UPDATE命令的 set使用别名 的实现方案

Global site tag (gtag.js) - Google Analytics