我的程序中有一个临时表;我试图从这样的选择语句中插入数据:
INSERT INTO #temptable
SELECT fee, expense, total FROM invoice
UNION
SELECT vat, holdingtax, total FROM uplifts
...但是在我的temptable中,只有第一个 select 语句被填充到表中,而下一个 select 语句不插入数据。
我的程序中有一个临时表;我试图从这样的选择语句中插入数据:
INSERT INTO #temptable
SELECT fee, expense, total FROM invoice
UNION
SELECT vat, holdingtax, total FROM uplifts
...但是在我的temptable中,只有第一个 select 语句被填充到表中,而下一个 select 语句不插入数据。
语法看起来不错,
第二个表中可能存在重复。
您可以使用 Union All 而不是 Union 来测试它。
我会在没有插入的情况下运行查询,看看你是否返回了你期望的结果。
我假设 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