请参阅下面给出的示例数据库表。现在在EmpDept表中,一些记录的员工名称错误。必须通过从Employee表中获取相应的lname来更新它。 EmpDept表中的此更新应仅针对“活动”员工进行。我正在尝试使用db2 merge(http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.sql.ref.doc%2Fdoc%2Fr0010873.html)语句。请让我知道如何做到这一点。
Employee
empID fname lname status
1 abc xyz active
2 def yzx active
3 ghi zyx inactive
4 jkl zxy inactive
5 mno yxz active
Dept
deptID name
1 pqrs
2 lmno
3 stuv
EmpDept
EmpDeptID empID deptID lname
1 1 1 xyz
2 2 1 yzx
3 2 2 yzx
4 3 2 fff
5 5 3 aaa
答案 0 :(得分:0)
对于此特定问题,您应使用UPDATE
语句,而不是MERGE
UPDATE EmpDep em
SET em.lname = (select e.lname
from employee e
where e.empid = em.empid
and e.status = 'ACTIVE')
的文档