Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Using CASE for an aggregate field
Message
 
 
To
03/12/2012 12:24:41
General information
Forum:
Microsoft SQL Server
Category:
SQL syntax
Environment versions
SQL Server:
SQL Server 2008
Miscellaneous
Thread ID:
01558602
Message ID:
01558613
Views:
44
If you turned this into static SQL, did you replace single quote correctly? There is an extra END after RevCnt which should be removed, e.g.
Select e.Category, e.EnteredBy, 
rtrim(u.UserLastName) + ','  +  u.UserFirstName as FullName, 
COUNT(  case when r.checkid =0 then 1 end)  as chkcnt, -- comma here
COUNT(case when r.CheckId= -1 then 1 end) as revcnt

FROM ExpMaster as e
INNER JOIN ReviewHistory as r
ON  r.XPID = e.origid
INNER JOIN UserFile as u
ON u.UserInit = e.EnteredBy
WHERE e.EnteredBy = 'DAB' and e.EnteredDate between @mbDate and @mbEDate
group by e.Category, e.EnteredBy, u.UserLastName, u.UserFirstName
order by e.EnteredBy
If you want to keep this dynamic, then use sp_executeSQL and parameters as is, take a look at this blog
Avoid Conversions In Execution Plans By Using sp_executesql Instead of Exec
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform