SQL 连表更新

Posted 老糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 连表更新相关的知识,希望对你有一定的参考价值。

现在数据如下:

需求如下: 

要求 更新 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 连表更新的主要内容,如果未能解决你的问题,请参考以下文章

SQL 语句,postgres的数据库的连表查询

连表更新

连表更新数据

Sql连表查询

连表更新

sql语句之连表查询