我可以将报告参数用作 WHERE 子句的一部分吗
Can I use a report paramater as a section of the WHERE clause
我有一个查询运行像这样很好
WHERE (customer IN (@cust))
@cust 是一个客户或多个客户列表
我想添加的是一个 AND
,在另一个可选参数中有 more,例如
No: @expiring = " "
或
Yes: @expiring = " AND getDate() >= dateAdd(d,[expiryWarning],[expiryDate]) "
然后我想将它添加到 WHERE
的末尾,如果从下拉列表中选择是或否,让它执行第二部分,这样我就可以显示整个客户列表或仅显示那些在报告中过期的。
WHERE (customer IN (@cust)) @expiring
但是当我尝试 运行 这份报告
时我看到了一个错误
那个there's an error near @expiring
有什么见解吗?我找了一整天,这可能吗?
您需要更改 where 子句以像这样考虑 @expiring
。
WHERE customer in (@cust)
AND (@expiring='No' OR getDate() >= dateAdd(d,[expiryWarning],[expiryDate]))
所以如果@expring 是 'No' 那么 WHERE 子句的那部分总是 return 为真。如果过期 = 'Yes' 那么日期标准必须为真,否则该部分将 return 为假。
我有一个查询运行像这样很好
WHERE (customer IN (@cust))
@cust 是一个客户或多个客户列表
我想添加的是一个 AND
,在另一个可选参数中有 more,例如
No: @expiring = " "
或
Yes: @expiring = " AND getDate() >= dateAdd(d,[expiryWarning],[expiryDate]) "
然后我想将它添加到 WHERE
的末尾,如果从下拉列表中选择是或否,让它执行第二部分,这样我就可以显示整个客户列表或仅显示那些在报告中过期的。
WHERE (customer IN (@cust)) @expiring
但是当我尝试 运行 这份报告
时我看到了一个错误那个there's an error near @expiring
有什么见解吗?我找了一整天,这可能吗?
您需要更改 where 子句以像这样考虑 @expiring
。
WHERE customer in (@cust)
AND (@expiring='No' OR getDate() >= dateAdd(d,[expiryWarning],[expiryDate]))
所以如果@expring 是 'No' 那么 WHERE 子句的那部分总是 return 为真。如果过期 = 'Yes' 那么日期标准必须为真,否则该部分将 return 为假。