SQL参数,如何给*(ALL)一个默认参数?

时间:2017-08-14 14:48:08

标签: sql reporting-services

我有一个问题:

 SELECT Job,Age,Name + + Surname AS FullName

现在我按照完整名称过滤(以ssrs为单位)。如何在全名下拉字段中设置默认值以默认显示所有候选项?

下拉字段如下所示:

EVERYONE
JON
Patric
KELLY
STEVE

3 个答案:

答案 0 :(得分:1)

您可以回溯与以下查询类似的数据:

SELECT * FROM
(
 SELECT OrderBy=2,FilterValue=SurName, Job,Age,Name + + Surname AS FullName
 UNION
 SELECT OrderBy=1,FilterValue=NULL, NULL,NULL,NULL + + '<ALL>' AS FullName
)
ORDER BY
    OrderBy,FullName

然后将FilterValue发送到您的过滤器中,其where子句类似于:

SELECT * FROM MyTable
WHERE
    (@FilterValue IS NULL) OR (SurName = @FilterValue) 

答案 1 :(得分:0)

创建一个新的多值参数

创建新数据集:

select Name + Surname as FullName
from MyTable

将新参数的默认值设置为查询&gt;新数据集

设置相同的

在主数据集中,使用:

select <columns>
from MyTable
where Name + Surname in(@NewParameter)

答案 2 :(得分:0)

你可能想要这样的东西:

WHERE upper(Name) = upper(@InParm) OR @InParm = '*'