-1

これは私のQueryです:

BusinessUnitID がわかっている場合は、where 句で渡す必要があります。以下に示すクエリのように、

select * from tblHRIMS_EmployeeDetail 
where nvrResignedStatus='No' and nvrBusinessUnit= 'BSU-001' 

このクエリの結果: 500 行

BusinessUnitId がわからない場合は、where 句を渡す必要はありません。以下に示すクエリのように、

select * from tblHRIMS_EmployeeDetail 
where nvrResignedStatus='No' 

このクエリの結果: 1500 行

Where与えられた入力に従って、句を動的に変更する方法。

注: 必要ありませんStored Procedure。クエリでのみ必要です。

4

4 に答える 4

0
create procedure sp-name
@nvrBusinessUnit varchar(50)
as
begin
   select * from tblHRIMS_EmployeeDetail 
   where nvrResignedStatus='No' and nvrBusinessUnit= @nvrBusinessUnit 
end
于 2012-09-15T07:19:45.380 に答える
0
declare @BusinessUnit varchar(50)

select @BusinessUnit = null 
-- or
select @BusinessUnit = 'bsu-001'

select * from tblHRIMS_EmployeeDetail  
where nvrResignedStatus='No' and nvrBusinessUnit= isnull(@BusinessUnit,nvrBusinessUnit)
于 2012-09-15T07:20:06.577 に答える
0

クエリがストアド プロシージャ内にあり、 @nvrBusinessUnit 変数があるとします。

select * from tblHRIMS_EmployeeDetail 
where nvrResignedStatus='No' and nvrBusinessUnit= isnull(@nvrBusinessUnit,nvrBusinessUnit)

これがアプリケーションから直接クエリするものである場合は、そこで文字列を作成できます。

于 2012-09-15T07:20:15.990 に答える
0

このような:

SELECT * 
FROM tblHRIMS_EmployeeDetail 
WHERE nvrResignedStatus = 'No'
 AND (@nvrBusinessUnit IS NULL OR nvrBusinessUnit = @nvrBusinessUnit)
于 2012-09-15T07:20:38.733 に答える