Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server 2012:soma sobre ordem por dá erro Sintaxe incorreta perto de 'ordem'


As somas cumulativas não têm suporte até o SQL Server 2012+. Presumivelmente, você está usando o SQL Server 2005 ou 2008 ou sua configuração de compatibilidade está definida como 105 ou menos (consulte aqui ).

Nessas versões, você pode usar 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;