請SE我的代碼如下使用UNION ALL SQL查詢來創建動態列名
set @query = 'SELECT tenantcode, locationd, name, MONTH,' +
'Year1 as' + '[' + @Year1 + ']' +
',Year2 as' + '[' + @Year2 + ']' +
',Year3 as' + '[' + @Year3 + ']' +
',Year4 as' + '[' + @Year4 + ']' +
',Year5 as' + '[' + @Year5 + ']' +
'from #SalesPerYear' +
'UNION ALL' +
'SELECT tenantcode, locationd, name, total , t1, t2,t3,t4,t5 FROM #TotalSales '
EXECUTE (@query)
這是我在實現SQL最終的輸出,其中列名應該是動態的願望代碼部分(以這種情況下,改變YEAR名稱,如2011,2012,2013年等)
當執行我的存儲過程,有這樣
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'tenantcode'.
一個錯誤,當我刪除了UNION ALL,既queri es個人工作。這裏可能是什麼問題。
運行此命令「打印@query」的兩側,並張貼在這裏它是什麼返回 –