Er dette smart, eller kan det gøres smartere
Hej!Jeg sidder og skal lave en sammentælling fordelt på den aktuelle bruger og han kan forskellige status med forskellige værdier.
Så ville jeg hører om det er en smart måde at gøre at lave en summering på eller om det kan gøres smartere
declare @Startdate as datetime;
declare @Enddate as datetime;
set @StartDate = '6/1/2007'
Set @EndDate = '7/6/2007'
select distinct (Employee.Name),
(Select Count(dbo.Log.Info) from dbo.Log where dbo.Log.EmployeeID = Employee.Id and dbo.Log.Date BETWEEN @StartDate AND @EndDate and dbo.Log.Info = 0) as 'LogInfo 0',
(Select Count(dbo.Log.Info) from dbo.Log where dbo.Log.EmployeeID = Employee.Id and dbo.Log.Date BETWEEN @StartDate AND @EndDate and dbo.Log.Info = 1) as 'LogInfo 1',
(Select Count(dbo.Log.Info) from dbo.Log where dbo.Log.EmployeeID = Employee.Id and dbo.Log.Date BETWEEN @StartDate AND @EndDate and dbo.Log.Info = 2) as 'LogInfo 2',
(Select Count(dbo.Log.Info) from dbo.Log where dbo.Log.EmployeeID = Employee.Id and dbo.Log.Date BETWEEN @StartDate AND @EndDate and dbo.Log.Info = 4) as 'LogInfo 4'
from dbo.Log inner join employee on employee.id = dbo.log.employeeID where dbo.Log.Date BETWEEN @StartDate AND @EndDate
Order by 'LogInfo 4' desc