我到处寻找,我找不到我想弄清楚的东西。
这是我拥有的两张桌子:
第一桌:PET 字段名称:PET_ID(INT),PET_BREED(VARCHAR2(25)),PET_NAME(VARCHAR2(25)),PET_VALUE(NUMBER * 8,2)),PET_DATE(DATE)第二桌:PET2 字段名称:PET2_ID(INT),PET2_BREED(VARCHAR2(25)),PET2_NAME(VARCHAR2(25)),PET2_VALUE(NUMBER * 8,2)),PET2_DATE(DATE)
我想将PET中的所有记录和PET2中的所有记录合并到一个名为PET3的新表中,而不会创建任何重复的行。 PET_ID编号不相同,但PET2中有几行,其他所有字段都与PET表中的记录匹配。
我必须使用ORACLE EXPRESS 10g进行此类分配。开始觉得我在靠墙撞击我的头。不确定我是否正在尝试做一些无法做到的事情。
是否必须首先创建PET3表,然后将其他两个表中的信息合并到其中,还是可以一次完成?
非常感谢您的帮助。我会一直狩猎,直到听到。 谢谢! DCM
答案 0 :(得分:1)
从PET中选择INTO新表,然后使用NOT EXISTS对PET2执行相同操作。阅读,你应该没事。
答案 1 :(得分:1)
我没有任何数据库引擎,我现在可以测试它,所以请不要认真对待我的说法,但为什么不使用这样的东西呢?你正在尝试做什么?
SELECT INTO new_table FROM (SELECT PET_ID, PET_BREED, PET_NAME, PET_VALUE, PET_DATE FROM PET UNION SELECT PET2_ID as PET_ID, PET2_BREED as PET_BREED, PET2_NAME as PET_NAME, PET2_VALUE as PET_VALUE, PET2_DATE as PET_DATE)
当然你必须在那之前运行具有预期结构的create table new_table