1

我在尝试将 LEFT() 函数与允许用户选择所有值的多值参数一起使用时遇到了一些问题。在我的数据集中,我使用以下代码:

 SELECT * FROM TABLE WHERE AccountValue BETWEEN 10000 and 50000
 AND CodeValue IN ('',100,LEFT(@Parameter,3))

基本上,应该在矩阵中拉取的结果是所有介于 10000 和 50000 之间的帐户,其代码值为空白、100 或用户在参数中选择的值的左 3 个字符。参数中的值如下:'200 - Finance'、'300 - Admin'、'400 - HR'等。表中code列的值为100、200、300、400等。所以我使用LEFT 函数用于拆分参数的字符串值。如果用户只选择一个参数,这很好用。但是当他们选择多个或全部时,它会弄乱查询的语法,返回错误“左函数需要 2 个参数”。有什么建议么?

4

1 回答 1

0

每个人都设法通过在参数属性中为参数指定标签和值来解决此问题。标签是用户所看到的,如“财务”、“管理员”等。它们的值是代码值 001/002/等。然后将数据集的子句设置为

WHERE CodeValue IN ('',100,@Parameter)
于 2012-09-06T00:12:04.097 回答