首页 > 数据库技术 > 详细

SQL 连表更新

时间:2017-03-13 12:59:10      阅读:171      评论:0      收藏:0      [点我收藏+]

现在数据如下:

技术分享

需求如下: 

要求 更新 Earnings 表中的Earnings字段 当 Table_2 KPI 大于等于1时 Earinings = KPI* 2000,否则等于 KPI* 1500

 

技术分享
1   Update Earnings 
2   set Earnings = (
3     SELECT 
4     CASE WHEN TABLE_2.KPI >= 1 
5     THEN Table_2.KPI * 2000 
6     ELSE Table_2.KPI * 1500 
7     END  
8     FROM Table_2 WHERE Table_2.GId = Earnings.Id)
View Code

结果如下:

技术分享

注: 子查询里的结果必须唯一,否则出错; 可以根据需求 添加DISTINCT

技术分享
1   Update Earnings 
2   set Earnings = (
3     SELECT  DISTINCT
4     CASE WHEN TABLE_2.KPI >= 1 
5     THEN Table_2.KPI * 2000 
6     ELSE Table_2.KPI * 1500 
7     END  
8     FROM Table_2 WHERE Table_2.GId = Earnings.Id)
View Code

 

SQL 连表更新

原文:http://www.cnblogs.com/lao-tang/p/6541889.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!