Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server 2012:la somma sull'ordine per fornisce un errore Sintassi errata vicino a "ordine"

Le somme cumulative non sono supportate fino a SQL Server 2012+. Presumibilmente, stai utilizzando SQL Server 2005 o 2008 o l'impostazione di compatibilità è impostata su 105 o meno (vedi qui ).

In queste versioni, puoi utilizzare 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;