【发布时间】:2016-01-27 03:04:40
【问题描述】:
在 oracle 数据库中,我有 2 个具有相同结构(相同列)的表。一个正在迁移到另一个。问题是我需要创建一个从 2 个表中读取记录的视图,以便在迁移期间可以读取所有记录。如果有重复记录,则视图中应仅显示表 1 中的记录。
表 1
USER_ID START_DATE END_DATE
1 2015-08-12 2015-12-08
2 2015-02-25 2015-06-01
3 2015-04-14 2015-09-21
表 2
USER_ID START_DATE END_DATE
2 2015-02-25 2015-06-01
4 2015-12-20 2016-01-13
视图应包含以下数据:
USER_ID START_DATE END_DATE
1 2015-08-12 2015-12-08
2 2015-02-25 2015-06-01
3 2015-04-14 2015-09-21
4 2015-12-20 2016-01-13
这可能吗?
谢谢!
【问题讨论】:
-
您要保留的表中的任何重复项?否则做一个
UNION。 -
对于给定的 user_id,table2 中的开始/结束日期在 table1 中对于相同的用户 ID 是否可能不同,或者它们总是相同?另外,user_id 是主键还是唯一的?
-
@jarlh 如果有重复,表 1 中的行应该优先
-
@Boneist 对于相同的用户 ID,日期可能不同,但在这种情况下,应该显示表 1 中的日期
-
我已经编辑了我的答案,现在它可以满足您的需求