我在尝试将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'等。表中的代码列值为100,200,300,400等。所以我使用LEFT函数用于分割参数的字符串值。如果用户只选择一个参数,这可以正常工作。但是当它们选择多个或全部时,它会混淆查询的语法,返回错误“左侧函数需要2个参数”。有什么建议吗?
答案 0 :(得分:0)
每个人都设法通过在参数属性中指定参数的标签和值来解决这个问题。标签,即用户看到的标签,“财务”,“管理员”等。它们的值是代码值001/002 /等。然后将数据集的子句设置为
WHERE CodeValue IN ('',100,@Parameter)