每一个网站背后都有一个故事!  会员中心 会员登录   设为首页 设为首页   加入收藏 收藏百万站   百万学院 百万学院  
 
 
您当前位置:百万站 > 乐园 > 百万学院 > 编程知识
»点此完善

百万站官网资料-sql中如何联合两个表update数据

sql中如何联合两个表update数据

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

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

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

1.

update t1
     set t1.c2 = t2.c2
    fro m t2

where t1.c1 = t2.c1

2.

Update t1
     set t1.c2 = t2.c2

fro m 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)

㊨㊚F囿 圀 学


请您关注:百万优秀网站的大本营
上一站:  Access to the path is denied的解决方法分享
当前推荐网站:  sql中如何联合两个表update数据
下一站:  C#使用API调用谷歌自动翻译


申明:本资料由百万站会员提供,转载请注明出处,资料来源百万站网站知识库:http://www.baiwanzhan.com/site/t133235/.
sql中如何联合两个表update数据 感谢您的支持!

»如果您觉得'sql中如何联合两个表update数据'相关资料不全,请点此协作更新!
复制本页网址,与您QQ/MSN上的好友分享,就是您对百万站最大的支持!
踩踩此网站3
支持此网站3
(提示:顶到百万站首页,分享给更多网友!)  
现在有2人对'本文'发表评论 »查看全部评论
1楼 1 [61.182.137.*] 发表于 2016/08/15/ 08:42:00
1
2楼 vv [222.216.190.*] 发表于 2016/02/17/ 09:39:00
vvv

您的姓名: * 可选项,留空即为匿名发表
评论内容:
剩余字数:  * 按 Ctrl + Enter 发送.
           
百万站温馨提示:资料由百万站会员自行发布,请大家自辩真伪;评论只需提交一次,请耐心等候审核通过,方可显示.
»网友留言(2)

sql中如何联合两个表update数据

贡献者:web005点击数: 累积有69271人浏览
所属类别:编程知识主页标签:sql 
参考网址:http://www.baiwanzhan.com/site/t133235/
导航目录:乐园 > 百万学院 > 编程知识
内容简介:今天遇到一个问题,就是在原来的一个表的基础上增加两个字段,并且根据历史数据和一个计算方法把这两个字段补齐。
2021,与百万网友携手打造百万站!
百万站-百万优秀网站的大本营!我们深信:每一个优秀网站的背后都有一个值得我们解读的故事。
合 作 伙 伴