使用多个select语句插入临时表

时间:2012-05-01 09:25:00

标签: sql sql-server-2008 union sql-update

我的程序中有临时表;我试图从这样的select语句中插入数据:

INSERT INTO #temptable
SELECT fee, expense, total FROM invoice 
UNION
SELECT vat, holdingtax, total FROM uplifts

...但是在我的 temptable 中,只有第一个select语句被填充到表中,而下一个select语句没有插入数据。

2 个答案:

答案 0 :(得分:2)

语法看起来不错,

第二张表中可能存在重复。

您可以使用Union All而不是Union进行测试。

我只是在没有插入的情况下运行查询,看看你是否返回了预期的结果。

答案 1 :(得分:2)

我假设UNION正在删除重复数据。 我刚用union ALL进行了测试:

insert into #temptable

select top 1 name from sys.tables
union  all
select top 1 name from sys.tables a

我得到了(2 row(s) affected)

尝试用UNION ALL替换UNION