【发布时间】:2014-07-07 10:00:54
【问题描述】:
我使用的是 Oracle 11g 数据库并且有两个表:
EMP
ID EMPNO AGE DATE_PUBLISHED
1 1001 11 14/01/1999
2 1002 22 14/01/1999
3 1003 33 14/01/1999
4 1004 44 14/01/1999
5 1005 55 14/01/1999
6 1006 66 14/01/1999
EMP_MIRROR
ID EMPNO AGE DATE_PUBLISHED
1 1001 11 05/01/2004
2 1123 54 05/01/2004
3 1003 87 05/01/2004
4 1004 65 05/01/2004
5 1545 78 05/01/2004
6 1006 14 05/01/2004
我想根据以下条件更新EMP_MIRROR 表的DATE_PUBLISHED 列:
如果对于两个表中的任何ID,EMPNO 或AGE 的值存在差异,则应将EMP_MIRROR 的DATE_PUBLISHED 列更新为SYSDATE。
EMP_MIRROR (after updation)
ID EMPNO AGE DATE_PUBLISHED
1 1001 11 05/01/2004
2 1123 54 07/07/2014
3 1003 87 07/07/2014
4 1004 65 07/07/2014
5 1545 78 07/07/2014
6 1006 14 07/07/2014
结果集说明:
ID: 1 (EMPNO and AGE are same in both the tables, hence DATE_PUBLISHED is not updated)
ID: 2 (EMPNO and AGE are different in both the tables, hence DATE_PUBLISHED is updated)
ID: 3 (AGE is different in both the tables, hence DATE_PUBLISHED is updated)
ID: 4 (AGE is different in both the tables, hence DATE_PUBLISHED is updated)
ID: 5 (EMPNO and AGE are different in both the tables, hence DATE_PUBLISHED is updated)
ID: 6 (AGE is different in both the tables, hence DATE_PUBLISHED is updated)
请提出一个可以达到此结果的查询。
【问题讨论】:
-
你使用的是哪个数据库?
-
鉴于您引用的是 SYSDATE,我假设是 oracle,请添加此标签。