0
我有2个表 - 表A包含来自当前系统的数据和包含遗留数据的表B.如果匹配,我试图通过附加表B的连接数据来更新表A上的一个字段。Oracle:根据两个表之间的比较更新列
但是,由于数据的性质,没有单一的ID字段,匹配标准是姓名,出生日期和婚前姓名字段。
我认为以下可能工作,但我遇到了“SQL错误:ORA-00933:SQL命令未正确结束”。
UPDATE A
SET A.HISTORY = A.HISTORY ||'Org:= ' || B.ORG ||' | Group:= ' || B.GROUP || ' | Campus:= ' || B.CAMPUS || ' | Year:= ' || B.YEAR || ' | Comments:= ' || B.COMMENT
FROM CURRENT_DATA A, LEGACY_DATA B
WHERE A.DOB = B.BDOB
AND A.FIRST_NAME = B.FIRST_AA
AND A.MIDDLE_NAME = B.MID_AB
AND A.LAST_NAME = B.LAST_AC
AND A.MAIDEN_NAME = B.MAIDEN_AD;
任何人都可以在正确的方向指向我:上述查询?
谢谢,Munir。我确实得到了多个Subquery(Select)的结果,A中的每一行与B中的匹配。我缺少一个标准吗?就数据而言,A中的每条记录都不会与B中的匹配。 – pratyk
我的意思是A中的每一行都应该匹配B中的一行或几行,它不应该在B中有多行。我认为你应该没问题。尝试在虚拟桌面上测试它,看看它是否有效。 – Munir