繁体   English   中英

将SQL Server Query 2012转换为2008

[英]Convert SQL Server Query 2012 to 2008

在此处输入图片说明

第三输出是我要查询的所有内容,使用此查询使用sql server 2012

Select LACCT,LREFNO,CONVERT(char(10), LDATE, 101) AS DATE,Description,Debit,Credit,Balance
From 
    (
        SELECT 
        LACCT, 
        LREFNO, 
        LDATE, 
        Description,
        Debit,
        Credit, 
        SUM(Debit - Credit) OVER (ORDER BY LDATE  ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS Balance
    FROM
        (
            Select  
                a.LACCT,
                a.LREFNO,
                a.LDATE,
                b.Description ,
                case when a.LDBCR = 'D' then cast(a.LAMOUNT AS decimal(20,2)) else '0.0' end Debit,
                case when a.LDBCR = 'C' then cast(a.LAMOUNT AS decimal(20,2)) else '0.0' end Credit

            FROM [dbo].[BCS02001] AS a
                 JOIN [dbo].[ref_LedgerParticulars] as b ON a.LCODE = b.Code  
                 where a.LACCT= @AcntNo 
          ) LedgerTable ) tblAll where year(LDATE) = @YEAR

但是此查询未在SQL SERVER 2008 r2上运行

OVER (ORDER BY LDATE  ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)

如何将其转换为sql; 服务器2008 R2

谢谢

从代码中删除它:

 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

v2008不支持该功能。 但是,删除它不会更改任何内容,因为此行是默认窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM