[英]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
我的目標是將2個樞軸結果合並為一個輸出表。 但是,這不起作用! 如何重新編寫此查詢?
如果你想在這一個表,你將有只有一個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;
就是說,我認為您的查詢無效。 此答案僅解決有關將數據保存到一個表的語法問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.