两个参数,允许用户选择其中一个对数据进行排序。
SELECT comment, comment_type,user
FROM comments
WHERE (comments.comment_type = @ctype) OR (comments.user = @user)
用户必须能够从可用值下拉列表中选择每个评论类型或用户。问题是ssrs不会让我留下一个空白。我尝试使用IN但它出错了。
答案 0 :(得分:3)
怎么样
(comments.comment_type = @ctype AND comments.user IS NOT NULL) OR
(comments.comment_type IS NOT NULL AND comments.user = @user)
答案 1 :(得分:0)
您应该在Allow null value
窗口中查看Report parameters
。
您可以尝试查询或以下查询。
SELECT comment, comment_type,user
FROM comments
WHERE (comments.comment_type = coalesce(@ctype,comments.comment_type)) OR (comments.user = coalesce(@user,comments.user))
答案 2 :(得分: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