使用 Case 语句字段填充参数
Posted
技术标签:
【中文标题】使用 Case 语句字段填充参数【英文标题】:Using a Case statement field to populate a parameter 【发布时间】:2020-05-19 13:18:21 【问题描述】:请见谅,但我对此很陌生:我使用 case 语句为字段赋予附加值,例如
CASE Field A > 60 THEN '>60' END AS 'NEW_FIELD'
在 WHERE 子句之后,我想使用这个新字段作为参数,所以
AND NEW_FIELD AS (@PARAMETER)
,但报表生成器说它不能使用列名作为参数,尽管我已经看到它在不同的参数中使用并且工作正常。有什么建议吗?
【问题讨论】:
所以更新到我原来的问题,如果我将这个新字段分配给一个参数和@PARAMETER 中的“新字段”,当我运行报告时不会显示任何值。我假设因为它们在原始表中没有“新字段”,所以报表生成器找不到匹配项并且没有生成记录? 【参考方案1】: CASE WHEN Field A > 60 THEN '>60' END =@PARAMETER
你可以在你的WHERE
子句中试试这个
【讨论】:
谢谢,但仍然得到无效的列名。我也尝试过使用和不使用表格缩写,但没有运气。 你能把你试过的和你需要的发给你吗? - @white_homme【参考方案2】:已修复。我试图将一个新的 CASE 字段作为参数传递。这产生了一个错误,说明列名无效。为了解决这个问题,我在我的报告生成器表中使用了这个 CASE 字段作为一个字段,但是为了作为参数传递,我基本上在我的 WHERE 子句中使用了 CASE,就像上面提到的 Thiyagu 一样,但必须将语法修改为 - END IN ( @范围)。谢谢!
【讨论】:
您可以自行接受答案,以便清楚哪个答案是正确的。以上是关于使用 Case 语句字段填充参数的主要内容,如果未能解决你的问题,请参考以下文章