使用带更新的子查询 SQL
Using subquery with update SQL
我有 Table 1 : EMP 如下
ID NAME CITY AMT
-------------------------------------------
1 sajani Bangalore 0
2 Prashanth Bangalore 0
3 Jayvin Bangalore 0
Table 2: EMP1
ID NAME1 CITY1 AMT1
---------------------------------------------
1 Sajani Bangalore 10
1 Sajani Bangalore 10
2 Prashanth Bangalore 10
3 Jayvin Bangalore 10
ID 是 Key,在两个文件中都是通用的。我想要一个 Update SQL 来使用 table 2 的 Amount 字段更新 Table 1 的 amount 字段,结果如下。
结果:
ID NAME CITY AMT
--------------------------------------------
1 sajani Bangalore 20
2 Prashanth Bangalore 10
3 Jayvin Bangalore 10
一种方法是相关子查询:
update emp
set amt = (select sum(e1.amt) from emp1 e1 where e1.id = emp.id);
您可以使用以下方法检查值是否匹配:
update emp
set amt = (select sum(e1.amt) from emp1 e1 where e1.id = emp.id);
where amt <> (select sum(e1.amt) from emp1 e1 where e1.id = emp.id);
我有 Table 1 : EMP 如下
ID NAME CITY AMT
-------------------------------------------
1 sajani Bangalore 0
2 Prashanth Bangalore 0
3 Jayvin Bangalore 0
Table 2: EMP1
ID NAME1 CITY1 AMT1
---------------------------------------------
1 Sajani Bangalore 10
1 Sajani Bangalore 10
2 Prashanth Bangalore 10
3 Jayvin Bangalore 10
ID 是 Key,在两个文件中都是通用的。我想要一个 Update SQL 来使用 table 2 的 Amount 字段更新 Table 1 的 amount 字段,结果如下。
结果:
ID NAME CITY AMT
--------------------------------------------
1 sajani Bangalore 20
2 Prashanth Bangalore 10
3 Jayvin Bangalore 10
一种方法是相关子查询:
update emp
set amt = (select sum(e1.amt) from emp1 e1 where e1.id = emp.id);
您可以使用以下方法检查值是否匹配:
update emp
set amt = (select sum(e1.amt) from emp1 e1 where e1.id = emp.id);
where amt <> (select sum(e1.amt) from emp1 e1 where e1.id = emp.id);