我有这样的存储过程:
ALTER procedure [dbo].[Driverperformance]
@Ecode nvarchar(50),
@startdate datetime,
@enddate datetime
AS
BEGIN
declare @date1 datetime = CONVERT(datetime, @startdate + ' 00:01:00.000', 120);
declare @date2 datetime = CONVERT(datetime, @enddate + ' 23:23:59.000', 120);
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 >= '' + @date1 +'' AND dtime <= ''+@date2+''
GROUP BY
e.Ecode, e.Ename, CAST(q.dtime AS date)
ORDER BY CAST(q.dtime AS date)
SELECT
e.Ecode,
CAST(q.dtime AS DATE) as Date,
e.Ename,
count(q.DelEcode) DelEcode
FROM
EmployeeMaster_tbl e JOIN Transaction_tbl q ON e.Ecode = q.DelEcode
WHERE
q.DelEcode=@Ecode AND dtime >= '' + @date1 +'' AND dtime <= ''+@date2+''
GROUP BY
e.Ecode, e.Ename, CAST(q.dtime AS date)
ORDER BY
CAST(q.dtime AS date) --e.Ecode DESC
END
我得到了这样的第一个结果:
Ecode Date Ename CntEcode
E003 2013-05-05 Raheem 4
E003 2013-05-28 Raheem 1
第二个结果:
Ecode Date Ename CntEcode
E003 2013-05-05 Raheem 3
E003 2013-05-27 Raheem 7
E003 2013-05-28 Raheem 1
但我想得到这样的结果:
Ecode Date Ename CntEcode DelEcode
E003 2013-05-05 Raheem 4 3
E003 2013-05-27 Raheem 0 7
E003 2013-05-28 Raheem 1 1
我怎样才能做到这一点?如果有人知道,请帮助我找出答案。