2017-08-14 27 views
0

我有一個查詢:按全稱SQL參數,如何給*(ALL)一個默認參數?

SELECT Job,Age,Name + + Surname AS FullName 

現在我過濾(在SSRS)。如何在全名下拉字段中設置默認值以默認顯示所有候選人?

字段下拉列表如下所示:

EVERYONE 
JON 
Patric 
KELLY 
STEVE 
+0

嗨湯米,我正在這裏SSRS我提及降了下來,請忽略下拉提 – AfricanHeart

回答

0

創建一個新的多值參數

創建一個新的數據集:

select Name + Surname as FullName 
from MyTable 

新的參數作爲查詢的設置默認>新數據集

設置可用於同一

在你的主數據集,使用:

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

謝謝!並可以請關於默認值,將生成所有用戶的意見(*) – AfricanHeart

+0

@AfricanHeart這實際上是我剛纔做的 – JohnHC

0

你可能想是這樣的:

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

嗨,感謝您的回覆,但是,請你解釋一下你的回答? – AfricanHeart

+0

@AfricanHeart - 你不明白什麼?這是一個帶有「OR」運算符的where語句。 – Hogan

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)