将 2 个表中的数据合并为一个

Merge data from 2 tables into one

我有员工和非员工 tables(正在从视图中导入数据)。

现在,我需要创建一个 table 来保存员工和非员工数据。我无法从这里取得进展。

我在尝试使用导入-导出任务时遇到此错误:

首先通过脚本创建一个新的 table,其中包含您想要的列。

CREATE TABLE dbo.Employees (
     COLUMN_A   TYPE,
     COLUMN_B   VARCHAR(100)
);

在此之后,选择您的旧 tables 进行插入。

INSERT INTO dbo.Employees ( COLUMN_A, COLUMN_B )
   SELECT COLUMN_A, COLUMN_B FROM TABLE1 UNION ALL
   SELECT COLUMN_A, COLUMN_B FROM TABLE2;

并创建索引以提高查询次数最多的列的性能。

查看详细信息后,"Unit Number" 列似乎有不同的数据类型。 为了克服这个问题,要么使 table 的数据类型相同,要么创建一个新的 table ,它具有比现有数据类型高的数据类型(意味着如果你的 table 有 tiny int,small int ) 那么常见的 table 将具有数据类型 smallint.

隐式转换问题是在将varbinary 类型的行插入到varchar 或任何其他数据类型时引起的。首先确定哪一列定义为varbinary,然后使用cast as cast(column_name as varchar(100)) 问题就解决了。

为什么要使用导入导出向导?

如果您的表和视图在同一个数据库中,您可以执行以下操作:

INSERT INTO TABLE
SELECT COL1, COL2....FROM VIEW

如果您正在使用导入导出任务,请确保源和目标数据类型和长度匹配(因为 char/varchar/nchar/nvarchar 如果目标列长度小于源列长度,可能会发生截断)。