0
我有一個醜陋的數據庫結構 - 表被命名爲會計年度,如GL_2011
,GL_2012
等表名作爲報表生成器參數
我需要讓用戶告訴我哪個財年他們想從中獲取數據,然後構造表名,然後執行查詢。
我已經成功建立了一個字符串分配到@SQL_QUERY
和EXEC
uting它..但MS報表生成器似乎迷失在過程中,並經常不會填充我的字段在數據集中。其他時候,我試圖將查詢拼湊在一起,發現錯誤的錯誤。
簡單的例子:
DECLARE @SQL_QUERY VARCHAR(MAX);
SET @SQL_QUERY = 'SELECT ITEM_1, ITEM_2 FROM ' + 'GL_' + CAST(@FISCAL_YEAR_PARM AS VARCHAR(4));
EXEC(@SQL_QUERY)
如果您必須使用dsql添加PRINT @SQL_QUERY行在SSMS中進行調試時會有幫助。 – ShellNinja
你考慮過一個視圖而不是動態SQL嗎?另外,你能舉出一個錯誤的例子嗎? – user3056839
本身沒有錯誤 - Report Builder允許我運行它(電子表格窗口中的結果是正確的),但是當我單擊確定時,我看到數據集沒有來自查詢的字段。點擊'刷新字段'不起作用。至於觀點 - 他們在這裏不鼓勵。 – user3199309