06. juli 2007 - 15:09Der er
6 kommentarer og 1 løsning
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
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Jeg foretrækker simple, og effektive, sql-sætninger, og skal det vises på en anden måde (fra "lodret" til "vandret"), så sker det i programmeringssproget, der bruger resultatet fra sql-en.
;) Ok. Men jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Fordelen ved "min" metode er selvfølgelig også, at det er meget nemmere når der kommer flere kategorier. Er det gjort godt fra starten, skal man slet ikke lave noget om.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.