Как получить ожидающее, сертифицированное значение и оба значения из SQL server 2008
Привет,
здесь у меня есть демо-версия, в которой я должен рассчитать отложенную активность, сертифицированную активность и все(Pending+Certified).Проблема в том, что я использовал
NULL => для ожидающих
NOT NULL=> для сертифицированных и
""=> Для всех (ожидание + сертификация).
это значение исходит из кодирования c# в качестве параметра хранимой процедуры.
Что я уже пробовал:
Ниже приведена моя хранимая процедура
create Procedure [dbo].[PROC_DPRREGISTER1_1] @PACKAGEDESCR VARCHAR(50),@VOUCHERFROMDT VARCHAR(20),@VOUCHERTODT VARCHAR(20),@STATUS VARCHAR(10),@RefNo varchar(10),@CONTRACTOR varchar(50) AS begin --Declare @qry; --set @qry= select * from DPRReg_R2 where PACKAGEDESCR=@PACKAGEDESCR AND VOUCHERDT between @VOUCHERFROMDT AND @VOUCHERTODT AND SUBACTIVITY = Case when len(@RefNo) >0 then @RefNo else SUBACTIVITY End And isnull(WDNO,'NULL') = case when @STATUS='NULL' THEN 'NULL' WHEN @STATUS='NOT NULL' THEN WDNO ELSE WDNO END AND Contractor= Case when LEN(@CONTRACTOR)>0 then @CONTRACTOR else Contractor end end
1. этот запрос предназначен для нулевых значений, то есть для отложенных
EXEC [PROC_DPRREGISTER1_1] 'RML ACADEMY-LUCKNOW' ,'2017-04-01','2017-04-20','NULL','',''
2. This query is for NOT NULL VALUES i.e for CERTIFIED <pre>EXEC [PROC_DPRREGISTER1_1] 'RML ACADEMY-LUCKNOW' ,'2017-04-01','2017-04-20','NOT NULL','',''
3. этот запрос предназначен для всех значений, то есть для сертифицированных + ожидающих
EXEC [PROC_DPRREGISTER1_1] 'RML ACADEMY-LUCKNOW' ,'2017-04-01','2017-04-20','','',''
Он отлично работает для ожидающих и сертифицированных, но что-то не так со всеми.то есть когда у меня есть ожидающие 20 записей и 115 сертифицированных 115 записей, то все должно быть 135, но мой запрос показывает 115 означает, что он снова показывает только сертифицированные записи
Пожалуйста, помогите мне..
спасибо.