所以我有这个临时表,其结构如下:
col1 col2 col3 col3
intID1 intID2 intID3 bitAdd
我正在使用选择查询来合并此临时表的值并存储
它进入同一个临时表中。col3不是联合查询的一部分,我将
以后需要它来更新表。
所以我这样做是这样的:
Insert into #temptable
(
intID1,
intID2,
intID3
)
select intID1,intID2,intID3
From
#temptable
UNION
select intID1,intID2,intID3
From
Table A
问题是我只想添加临时表中尚不存在的行,这样做会添加已经存在的行的副本(因为联合会返回一行)我的联合查询中当前临时表中是否存在?
最佳答案
EXCEPT
简洁好用
INSERT INTO #temptable (intID1, intID2, intID3)
SELECT intID1,intID2,intID3 FROM TableA
EXCEPT
SELECT intID1,intID2,intID3 FROM #temptable
关于使用Union的SQL插入应仅添加不同的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9299551/