`
tomgreenintel
  • 浏览: 44373 次
社区版块
存档分类
最新评论

Update 两个表之间数据更新

    博客分类:
  • sql
阅读更多

今天遇到一个问题,就是在原来的一个表的基础上增加两个字段,并且根据历史数据和一个计算方法把这两个字段补齐。
到网上查了一下。

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

相关推荐

    两张表自动对比更新VFP程序

    数据库对比是检查两个数据集之间差异的过程,这通常用于数据迁移、数据整合或验证数据完整性。以下是一些关键知识点: 1. **表结构对比**:首先,我们需要比较两表的字段数量、字段名称、字段类型和字段长度等属性...

    用一条SQL语句将数据表中某列更新到另一个数据表里

    目标是在表T1和T2之间建立关联,并根据T1中的A1列与T2中的A11列是否相等,将T1中A2列的数据更新为T2中相应的A22列的值。 #### 示例数据 - 表T1: | A1 | A2 | A3 | |----|----|----| | 1 | | 21 | | 2 | | 22 | ...

    java实现两个mysql同步主库的数据

    下面我们将深入探讨如何使用Java实现两个MySQL数据库之间的数据同步,以及涉及的相关知识点。 首先,我们需要理解MySQL的复制原理。MySQL的主从复制是基于日志的,主库上的所有更改都会被记录到二进制日志(binlog...

    SQLServer批量更新两个关联表数据的方法

    综上,SQL Server提供了一套灵活的机制来处理关联表的数据更新,开发者可以根据实际需求选择合适的方法并注意相应的最佳实践,确保数据更新的高效性和准确性。在实际应用中,结合业务场景和数据量大小,可能还需要...

    c# 更改不同服务器两个表保持一致

    本文将深入探讨如何使用C#语言实现不同服务器上两个数据库表之间的同步,确保数据的一致性。 首先,我们需要理解核心概念:数据同步。数据同步是指将一个数据源中的信息更新到另一个数据源的过程,确保两者之间的...

    Mysql两个数据库表之间双向数据同步方案.docx

    ### MySQL两个数据库表之间的双向数据同步方案 #### 概述 本文档主要介绍了一种针对MySQL环境下两个数据库表之间的双向数据同步方案。该方案适用于需要保持两个不同位置或不同环境中数据库表数据一致性的场景,...

    update 带from字句的更新

    在这个结构中,`table1`是要更新的表,`table2`是提供新值的源表,`join_column`是两个表之间的关联字段,`condition`是决定哪些行需要更新的条件。 举个例子,假设我们有两个表`Employees`和`TemporaryData`,它们...

    Oracle中只更新两张表对应数据的方法 - AJava

    在Oracle数据库中,当需要更新两张表之间关联的数据时,我们通常会涉及到多表操作,这在数据库管理和数据维护中是常见的需求。本篇将详细解释如何在Oracle中高效且准确地只更新两张表对应数据的方法。 首先,我们...

    SQL update 多表关联更新的实现代码

    在多表关联更新中,我们需要在FROM子句中引入其他相关的表,并使用JOIN操作来指定两个表之间的关联。以下是两种常见的SQL更新语句实现多表关联更新的方式: 1. **非JOIN方式(旧式方法)**: ```sql UPDATE A SET ...

    两个QListWidget交换数据

    在这个场景中,我们关注的是如何在两个QListWidget对象之间交换数据。这个功能通常在用户界面设计中用于实现列表项的移动或者排序操作。我们将深入探讨如何实现这个功能,以及涉及到的相关知识点。 首先,`ListA`和...

    数据库之间的数据传递

    首先,我们需要理解MySQL和SQL Server这两个数据库系统。MySQL是一款开源、免费的关系型数据库管理系统,广泛应用于Web应用,以其高效和轻量级著称。而SQL Server是微软公司开发的一款商业数据库系统,提供更高级的...

    Update和Select结合使用

    - **UPDATE 语句**:此语句的目标是更新表`[Jysmtmes2nd].[dbo].[MEDRecordPanelPackInfo]`中的`Quantity`字段。 - **SET 子句**:设置`Quantity`字段的新值为子查询的结果。 - **子查询(SELECT 语句)**: - 从`...

    SQL_两张表同步数据

    在企业级应用中,有时我们需要实现在两个不同的数据库之间进行数据同步,比如将一张表中的数据实时地复制到另一张表中,这种需求通常可以通过触发器(Trigger)来实现。本文将详细介绍如何通过创建触发器来监控两张...

    oracle异库同表名的两个数据库中数据合并或数据表结构的修改

    在Oracle数据库管理与维护过程中,经常会遇到需要处理多个不同数据库之间数据同步、数据合并以及表结构更改等问题。本文将针对“Oracle异库同表名的两个数据库中数据合并或数据表结构的修改”这一主题进行详细阐述,...

    两个apk之间广播互相通信及ContentProvider监听数据库的变换

    本教程将深入探讨如何利用Broadcast和ContentProvider实现两个apk之间的通信以及ContentProvider对数据库变更的监听。 首先,我们来理解Broadcast(广播)的概念。Broadcast是Android系统中一种全局的通知机制,...

    SQLServer 异构数据库之间数据的导入导出

    UPDATE 语句可以用来更新表中的数据。 3. 使用 OPENDATASOURCE 和 OPENROWSET 在不同类型的数据库之间导入导出数据 OPENDATASOURCE 和 OPENROWSET 是 SQL Server 提供的两个系统函数,可以用来实现异构数据库之间...

    MySQL 从一张表update字段到另外一张表中

    在MySQL数据库中,更新操作是...总结,MySQL的多表更新功能使得在不同表之间同步数据变得简单,但同时也需要谨慎处理,确保数据的准确性和一致性。理解并熟练运用JOIN和子查询可以帮助你更有效地管理数据库中的数据。

    oracle两表关联更新Demo

    在Oracle数据库中,进行数据更新操作时,有时需要根据另一个表中的数据来更新当前表的数据,这就是所谓的“关联更新”。关联更新通常用于保持两个或多个表之间的一致性,确保数据的准确性和完整性。本文将通过一个...

    多表更新

    2. JOIN操作:在SQL中,JOIN用于合并来自两个或更多表的数据行,基于这些表之间的相关性。这为更新提供了基础,因为你可以先通过JOIN找到需要修改的数据,然后再执行UPDATE语句。 二、多表更新的方法 1. 使用子查询...

Global site tag (gtag.js) - Google Analytics