MSSQL将数据从一个表插入另一个具有固定值的表

时间:2016-06-07 15:27:33

标签: sql-server tsql

您好我想在另一个名为SourceTable的表中插入一个名为Data multiple columns的表,并为Data中添加的每一行添加一个具有标准值的列。

假设您在名为SourceTable的表中有Column1和Column2,并且source_id是预先计算的,对于添加到此查询的Data中的每一行,它都是相同的。

INSERT INTO Data (Columns1, Column2, source_id)
SELECT Column1, Column2
FROM SourceTable
UNION SELECT 2;

我试过这个但是没有用,很可能是因为SELECT 2只返回一行。

1 个答案:

答案 0 :(得分:4)

你的问题是你给SQL 3列插入2个值,如果你的联盟选择了source_id将是2那么你想要这样的东西;

INSERT INTO Data (Columns1, Column2, source_id)
SELECT Column1, Column2, 2
FROM SourceTable

您要插入的列数需要与要插入的列数相匹配。你这样做会产生这样的结果;

Column1   Column2   source_id
Value1    Value2
2

但即使联盟也会失败,因为您正在加入的查询需要具有相同数量的列。