Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Using CASE for an aggregate field
Message
 
 
À
03/12/2012 12:24:41
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Versions des environnements
SQL Server:
SQL Server 2008
Divers
Thread ID:
01558602
Message ID:
01558613
Vues:
43
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform