sql >> データベース >  >> RDS >> Sqlserver

T-SQLの行の以前の値を使用して値を計算する

    再帰CTEに少なくともSQLServer2005を想定:

    ;with cteCalculation as (
        select t.Id, t.Date, t.Column1, t.Column1 as Column2
            from YourTable t
            where t.Id = 1
        union all
        select t.Id, t.Date, t.Column1, (1+t.Column1)*(1+c.Column2) as Column2
            from YourTable t
                inner join cteCalculation c
                    on t.Id-1 = c.id
    )
    select c.Id, c.Date, c.Column1, c.Column2
        from cteCalculation c
    


    1. UPPER()–PostgreSQLで大文字に変換

    2. MySQLとは何ですか?

    3. SQLServerで日時と日付のみを比較する方法

    4. CrystalReportsのSalesforceSOQL