将多个结果表加入永久

时间:2018-01-23 19:00:10

标签: sql-server

我有许多同时运行的查询,但现在我希望结果填充我创建的永久表。

每个查询都有一个名为“Descript”的列,这是我希望所有结果加入的列,所以我想确保如果Descript列在其中一个查询中出现乱序(或为空)它会将数字与正确的描述联系起来。

我在运行每个查询结束后执行了一个INTO,但这不起作用。 第一级数据进入但第二级只是在第一级(如果有意义)下面创建更多行。

INSERT INTO dbo.RESULTTABLE (Descript, Category, DescriptCount)

SELECT Descript, Category, DescriptCount

FROM @Query1

Example data and result

我有大约15个查询要加入到1个表中,所以对于理解逻辑的任何帮助都表示赞赏。

由于

1 个答案:

答案 0 :(得分:0)

If I understood your question clearly, you want to insert query results which is not stored in the Temptable and update already existing records in the table.

update R set Category = Q.Category, DescriptCount = Q.DescriptCount,
from #ResultTable R inner join @Query1 Q ON R.Descript = Q.Descript

INSERT INTO dbo.RESULTTABLE (Descript, Category, DescriptCount)
SELECT Descript, Category, DescriptCount FROM @Query1 where Descript NOT IN (select Descript from #ResultTable)

Then you can process the same approach for other queries.