您好我想在另一个名为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只返回一行。
答案 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
但即使联盟也会失败,因为您正在加入的查询需要具有相同数量的列。