我正在将带有以下数据集定义的SSRS报告写入Tablix。
DECLARE @SQL AS VARCHAR(8000)
SET @SQL = '
SELECT X,Y,Z
FROM (
SELECT TABLE_1.XXX AS X, TABLE_1.YYY AS Y, TABLE_1.ZZZ AS Z
FROM TABLE_1
INNER JOIN TABLE_2 ON TABLE_1.ID = TABLE_2.ID
) TEMP'
EXEC(@SQL)
它工作正常。但是,当我稍微修改SQL时,它会在字符串''后面返回未闭合的引号。 '附近的语法不正确。
DECLARE @SQL AS VARCHAR(8000)
SET @SQL = '
SELECT X,Y,Z ,POST_CODE
FROM (
SELECT TABLE_1.XXX AS X, TABLE_1.YYY AS Y, TABLE_1.ZZZ AS Z
,CASE
WHEN POST_CODE IS NOT NULL
THEN SUBSTRING(TABLE_1.POST_CODE, CHARINDEX(CONVERT(NCHAR(1), 0xFDF8), TABLE_1.POST_CODE) + 1, (LEN(TABLE_1.POST_CODE) - CHARINDEX(CONVERT(NCHAR(1), 0xFDF8), TABLE_1.POST_CODE)))
ELSE POST_CODE
END AS POST_CODE
FROM TABLE_1
INNER JOIN TABLE_2 ON TABLE_1.ID = TABLE_2.ID
) TEMP'
EXEC(@SQL)
我在这里做的是再增加一列。 SQL本身可以从SSMS获取结果集,但在SSRS中失败。有谁知道如何解决这个问题?
任何帮助都将受到高度赞赏。