我有一个查询:按全称SQL参数,如何给*(ALL)一个默认参数?
SELECT Job,Age,Name + + Surname AS FullName
现在我过滤(在SSRS)。如何在全名下拉字段中设置默认值以默认显示所有候选人?
字段下拉列表如下所示:
EVERYONE
JON
Patric
KELLY
STEVE
我有一个查询:按全称SQL参数,如何给*(ALL)一个默认参数?
SELECT Job,Age,Name + + Surname AS FullName
现在我过滤(在SSRS)。如何在全名下拉字段中设置默认值以默认显示所有候选人?
字段下拉列表如下所示:
EVERYONE
JON
Patric
KELLY
STEVE
创建一个新的多值参数
创建一个新的数据集:
select Name + Surname as FullName
from MyTable
新的参数作为查询的设置默认>新数据集
设置可用于同一
在你的主数据集,使用:
select <columns>
from MyTable
where Name + Surname in(@NewParameter)
谢谢!并可以请关于默认值,将生成所有用户的意见(*) – AfricanHeart
@AfricanHeart这实际上是我刚才做的 – JohnHC
你可能想是这样的:
WHERE upper(Name) = upper(@InParm) OR @InParm = '*'
嗨,感谢您的回复,但是,请你解释一下你的回答? – AfricanHeart
@AfricanHeart - 你不明白什么?这是一个带有“OR”运算符的where语句。 – Hogan
您可以拉回你的数据类同下面的查询:
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)
嗨汤米,我正在这里SSRS我提及降了下来,请忽略下拉提 – AfricanHeart