这实际上是a followup from a previous question但它包含不同的信息,因此我决定开始一个新主题。 摘要:
我有2个表,一个是TMP_TABLE,另一个是BKP_TABLE。两者都具有相同的字段结构和相同的字段数据类型(具有几乎相同的数据)。
让我们说TMP_TABLE是这样构建的
TMP_TABLE
NAME PREFIX PARAMETERS
data data data
data data data
data data data
和BKP_TABLE看起来像这样
BKP_TABLE
NAME PREFIX PARAMETERS
data1 data1 data1
data1 data1 data1
data1 data1 data1
是否可以将这两个表组合成一个看起来像这样的表
END_RESULTTABLE
NAME PREFIX PARAMETERS
data data1 data1
data data1 data1
data data1 data1
如您所见,我希望删除其中一个字段并将其替换为另一个字段。 序列几乎相同,所以我不必担心记录不正确。
附带问题
目前,TMP和BKP都包含完全相同的数据(113条记录) 当我这样做时
SELECT * FROM TMP_TABLE
UNION ALL
SELECT * FROM BKP_TABLE
我得到226.为什么会这样。我认为重复的条目(我可以清楚地看到)不会出现在我的虚拟表中。
修改
我想用BKP_table字段替换TMP_data的一个字段(例如名称)。
答案 0 :(得分:3)
UNION ALL
将从两个选项中返回所有记录(因此 ALL )
UNION
将删除重复项
答案 1 :(得分:0)
假设您的两个表有一个共同的密钥(例如名称),您可以执行以下操作:
create table end_resulttable as
select t.name, t.prefix, b.parameters
from tmp_table t, bkp_table b
where t.name = b.name;
这是你的意思吗?