1

ここに画像の説明を入力次のような私のストアドプロシージャ:

ALTER procedure [dbo].[Driverperformance]
@Ecode nvarchar(50),  
@startdate datetime, 
@enddate datetime  
as   begin   

SELECT  e.Ecode, CAST(q.dtime AS DATE) as Date ,  e.Ename,  count(q.Ecode) CntEcode 
FROM EmployeeMaster_tbl e 
JOIN Transaction_tbl q  
ON e.Ecode = q.Ecode     

where q.Ecode=@Ecode and dtime >= '' + @startdate +'' and dtime <= ''+@enddate +''

group by e.Ecode, e.Ename, CAST(q.dtime AS date) 

ORDER BY CAST(q.dtime AS date)--e.Ecode DESC

end

これは正常に動作しています.これで私は[(q.Ecode)]の数を取得しています.私はトランザクションテーブル名(DelEcode)にもう1つのフィールドを持っています.私は同じ方法で(DelEcode)の数を取りたいです.samの方法は意味しますどのように Ecode をカウントするのか DelEcode aslos.so をカウントする必要があるので、現在のストアド プロシージャにどのような変更を加える必要があるのか​​..実行中に次のように出力されます: しかし、もう 1 つの列を取得したいcntDelcode で DelEcode のカウントを表示したい

4

2 に答える 2

0

次のコードを実行することもできます。

ALTER procedure [dbo].[Driverperformance]
@Ecode nvarchar(50),  
@startdate datetime, 
@enddate datetime,
@test bit=0  
as   begin   

SELECT  e.Ecode, CAST(q.dtime AS DATE) as Date ,  e.Ename,  case when @test=1 then count(q.Ecode) else count(q.delCode) end as CntEcode 
FROM EmployeeMaster_tbl e 
JOIN Transaction_tbl q  
ON e.Ecode = q.Ecode     

where q.Ecode=@Ecode and dtime >= '' + @startdate +'' and dtime <= ''+@enddate +''

group by e.Ecode, e.Ename, CAST(q.dtime AS date) 

ORDER BY CAST(q.dtime AS date)--e.Ecode DESC

end
于 2013-09-04T14:17:58.373 に答える