我正在使用存储过程根据SP的参数生成报告。我必须根据传递的参数加入不同的条件。
对于前。
ALTER PROCEDURE [dbo].[sp_Report_InventoryAging]
@TitleFlag int=0, /*0-All veh, 1-Clear Title, 2-Without Clear Title*/
@CompName varchar(100) = 'ALL COMPANIES',
@CompBranchId varchar(50) = 'ALL', /*All Offices*/
@StateId varchar(50)='All States' /*All states*/
Select .... Where TitleFlag=@TitleFlag and
现在我想根据像
这样的参数指定条件如何在select语句的where条件下合并所有这些条件,具体取决于参数值?
非常感谢任何帮助。
答案 0 :(得分:13)
这样做:
where
(upper(Company)=upper(@CompName) or @compName = 'ALL COMPANIES')
and
(OfficeID=@CompBranchId or @CompBranchId = 'ALL OFFICES')
and
(StateID=@StateID or @StateID = 'ALL States')