【发布时间】:2017-01-19 16:01:54
【问题描述】:
我想做一个更新,只更新受影响的值,但我的更新查询有一个连接,所以where exists 不起作用。
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);
此代码不起作用,因为它显然无法识别 join 子句后的 where exists。
【问题讨论】:
-
不相关,但是:
distinct不是一个函数。括号没用
标签: sql database db2 sql-update