如何将 2 个单独的临时表的输出合并到一个查询中?

How do I merge the output from 2 separate temp tables into a single query?

我正在使用 SQL Server 2012 并且我有 2 个单独的 T-SQL 查询,我试图将它们合并为一个查询。

查询 1:

   USE MyDatabase
   SELECT [Col A], [Col B], [Col C]
   INTO #TempTable
   FROM MyList
   WHERE [Date] >= '2018-01-01'

   SELECT * FROM #TempTable

   PIVOT(SUM([Col B]) 
   FOR [Col A] IN ([Jan], [Feb], [Mar], [Apr], [May], [Jun], [Jul], [Aug], [Sep], [Oct], [Nov], [Dec])) AS PVTTable

查询 2:

   USE MyDatabase
   SELECT [Col A], [Col B], [Col C]
   INTO #TempTable2
   FROM MyList
   WHERE [StayDate] >= '2018-01-01'
   AND [DateCreated] <= '2018-01-27'

  SELECT * FROM #TempTable2

  PIVOT(SUM([Col B]) 
   FOR [Col A] IN ([Jan], [Feb], [Mar], [Apr], [May], [Jun], [Jul], [Aug], [Sep], [Oct], [Nov], [Dec])) AS PVTTable

我试过使用UNION ALL语法,如下:

   USE MyDatabase
   SELECT [Col A], [Col B], [Col C]
   INTO #TempTable
   FROM MyList
   WHERE [StayDate] >= '2018-01-01'

   PIVOT(SUM([Col B]) 
   FOR [Col A] IN ([Jan], [Feb], [Mar], [Apr], [May], [Jun], [Jul], [Aug], [Sep], [Oct], [Nov], [Dec])) AS PVTTable


   UNION ALL

   SELECT [Col A], [Col B], [Col C]
   INTO #TempTable2
   FROM MyList
   WHERE [StayDate] >= '2018-01-01'
   AND [DateCreated] <= '2018-01-27'

   PIVOT(SUM([Col B]) 
   FOR [Col A] IN ([Jan], [Feb], [Mar], [Apr], [May], [Jun], [Jul], [Aug], [Sep], [Oct], [Nov], [Dec])) AS PVTTable

我的 objective 是将 2 个主元结果合并为一个输出 table。但是,这是行不通的!我该如何重写这个查询?

如果您希望在一个 table 中包含此内容,您将在查询中只有一个 into。对于 UNION ALL,这是在第一个查询中:

   SELECT [Col A], [Col B], [Col C]
   INTO #TempTable
   FROM MyList
   WHERE [StayDate] >= '2018-01-01'

   PIVOT(SUM([Col B]) 
   FOR [Col A] IN ([Jan], [Feb], [Mar], [Apr], [May], [Jun], [Jul], [Aug], [Sep], [Oct], [Nov], [Dec])) AS PVTTable
   UNION ALL    
   SELECT [Col A], [Col B], [Col C]
   FROM MyList
   WHERE [StayDate] >= '2018-01-01'
   AND [DateCreated] <= '2018-01-27'

   PIVOT(SUM([Col B]) 
   FOR [Col A] IN ([Jan], [Feb], [Mar], [Apr], [May], [Jun], [Jul], [Aug], [Sep], [Oct], [Nov], [Dec])) AS PVTTable;

也就是说,我认为您的查询没有用。此答案仅解决有关将数据保存到一个 table.

的语法问题