1

两个参数允许用户选择其中一个来对数据进行排序。

SELECT comment, comment_type,user
FROM comments
WHERE (comments.comment_type = @ctype) OR (comments.user = @user)

用户必须能够从可用值下拉列表中选择每个评论类型或用户。问题是 ssrs 不会让我留一个空白。我尝试使用 IN 但它出错了。

4

3 回答 3

3

怎么样

(comments.comment_type = @ctype AND comments.user IS NOT NULL) OR 
(comments.comment_type IS NOT NULL AND comments.user = @user)
于 2013-09-10T15:45:52.780 回答
0

你应该检查窗口Allow null valueReport parameters

比您可以尝试您的查询或以下查询。

SELECT comment, comment_type,user
FROM comments
WHERE (comments.comment_type = coalesce(@ctype,comments.comment_type)) OR (comments.user = coalesce(@user,comments.user))

更多信息

于 2013-09-10T15:46:26.593 回答
0

试试这个:

CREATE PROC myproc (
@ctype varchar(10) = null,
@user varchar(10) = null
) as 
BEGIN

  SELECT comment, comment_type,user
  FROM comments
  WHERE (comments.comment_type = ISNULL(@ctype, comments.comment_type))
  OR (comments.user = ISNULL(@user,comments.user))

END
于 2013-09-10T16:12:44.737 回答