Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server 2012 :la somme sur la commande par donne une erreur Syntaxe incorrecte près de 'commande'

Les sommes cumulées ne sont pas prises en charge avant SQL Server 2012+. Vraisemblablement, vous utilisez SQL Server 2005 ou 2008 ou votre paramètre de compatibilité est défini sur 105 ou moins (voir ici ).

Dans ces versions, vous pouvez utiliser outer apply :

select t.*, s.amount
from @t t outer apply
     (select sum(t2.amount) as amount
      from @t t2
      where t2.cname = t.cname and t2.cid <= t.cid
     ) s;