Sql 如何在使用join时只更新db2上受影响的列

Sql 如何在使用join时只更新db2上受影响的列,sql,database,join,db2,sql-update,Sql,Database,Join,Db2,Sql Update,我想在表中进行更新,但只对受影响的值进行更新,因此我必须在存在的位置使用,但显然,在使用联接操作时它不起作用。有人知道为什么会发生这种情况以及如何做到吗 update semester_workload tA set tA.account = (SELECT DISTINCT (t2.WORKING - t2.WORKLOAD) FROM SEMESTER_WORKLOAD t1 join SEMESTER_WORKLOAD t2 on t1.ID_LECTURER = t2.I

我想在表中进行更新,但只对受影响的值进行更新,因此我必须在存在的位置使用
,但显然,在使用联接操作时它不起作用。有人知道为什么会发生这种情况以及如何做到吗

update semester_workload tA
set tA.account = (SELECT DISTINCT (t2.WORKING - t2.WORKLOAD) FROM SEMESTER_WORKLOAD t1
        join SEMESTER_WORKLOAD t2 on t1.ID_LECTURER = t2.ID_LECTURER
        WHERE t2.ACADEMIC_SEMESTER = 'WS10' AND tA.ID_SW = t2.ID_SW);
where exists (SELECT 1 FROM SEMESTER_WORKLOAD t1        
        join SEMESTER_WORKLOAD t2 on t1.ID_LECTURER = t2.ID_LECTURER
        WHERE t2.ACADEMIC_SEMESTER = 'WS10' AND tA.ID_SW = t2.ID_SW);

样本数据和预期结果将更好地解释您的问题您有一个额外的
在何处--还有其他问题吗?示例数据和预期结果将更好地解释您的问题您有一个额外的
在where之前--还有其他问题吗?