替代Union将三个表的数据插入一个临时表的方法

0 人关注

我正试图将三个独立的表的数据插入一个临时表。这三个表大多由相同的列组成,但它们之间没有联系(例如,下面的例子中tblOne和tblTwo之间没有联系)。我能够用下面的代码得到我希望的结果,但我想一定有一个更有效的方法,我没有使用。

DECLARE @ExampleTable TABLE(Column1 INT, Column2 INT, Column3 INT, Column4 NVARCHAR(50), Column5 DATETIME, Column6 decimal(19,8))
INSERT INTO @ExampleTable
SELECT A.Column1, A.Column2, A.Column3, A.Column4, Aa.Column5, A.Column6
FROM    tblOne AS A INNER JOIN
            tblOneJoin AS Aa ON Aa.ID = A.ExampleColumn
WHERE   ClauseColumn IN (2,3)
UNION
SELECT B.Column1, B.Column2, B.Column3, B.Column4, Bb.Column5, B.Column6
FROM    tblTwo AS B INNER JOIN
            tblTwoJoin AS Bb ON Bb.ID = B.ExampleColumn
WHERE   ClauseColumn IN (2,3)
UNION
SELECT C.Column1, C.Column2, C.Column3, C.Column4, Cc.Column5, C.Column6