我有一个存储过程中的查询如下图所示如何为包括全部条件的多个条件进行选择查询?
select empid
from tblname
where place = @place
and category = @category
我想用这个相同的步骤来获得所有结果的地方=“卡利卡特”(类别可以是任意)。通过这样做,我能避免我dropdownlist
编写单独的query
如果选择的类别是“全部”。
我有一个存储过程中的查询如下图所示如何为包括全部条件的多个条件进行选择查询?
select empid
from tblname
where place = @place
and category = @category
我想用这个相同的步骤来获得所有结果的地方=“卡利卡特”(类别可以是任意)。通过这样做,我能避免我dropdownlist
编写单独的query
如果选择的类别是“全部”。
你应该能够检查NULL - 这是假设选择了默认的“所有”值当你传递NULL。如果没有,用全部或任何值要传递给SP替换NULL:
select empid
from tblname
where [email protected] and
(@category IS NULL OR [email protected])
此检查@Category参数 - 如果它是NULL,那么它选择任何类别。否则它会搜索该特定类别。
如果你只关心哪里的地方=“卡利卡特”,然后用这个来代替:
select empid
from tblname
where place='calicut' and
(@category IS NULL OR [email protected])
SELECT empid
FROM tblname
WHERE place = @place
AND (category = @category OR @category = 'all');
一个,你可以做更多的事情是初始化变量@category
而写的stored procedure
。
ALTER PROCEDURE yourProcName
@place VARCHAR(100),
@category VARCHAR(50) = ''
AS
BEGIN
select empid
from tblname
where place = @place
and
(@category = '' OR category = @category)
END
@Praveen Nambiar感谢您的编辑。我真的是我的电话奋力编辑 – 2013-03-25 15:16:16
与手机好工作......我必须说:) – 2013-03-25 15:18:12