Я не совсем понимаю, что вы хотите получить в результатах, но UNION
выбирает разные значения, поэтому у вас не будет дублированных значений (значений из # tmptable2, которые уже существуют в # tmptable1).
SELECT * FROM #tmptable1
UNION
SELECT * FROM #tmptable2
В любом случае, эти записи являются записями из # tmptable2, которых нет в # tmptable1.
SELECT * FROM #tmptable2
EXCEPT
SELECT * FROM #tmptable1