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

SQL Server での計算

    最後に、以下のアプローチを使用して結果を達成しました

    SELECT a.*,
           col3 - res AS Result
    FROM   #TABLE1 a
           CROSS apply (SELECT Sum(b.col1 * Power(( 1 + b.COL2 / 100.00 ), new_rn)) AS res
                        FROM   (SELECT Row_number()
                                         OVER(
                                           partition BY ccp
                                           ORDER BY rno DESC) new_rn,*
                                FROM   #TABLE1 b
                                WHERE  a.ccp = b.ccp
                                       AND a.rno >= b.rno)b) cs
    

    結果:

    +-----+------+------+------+------+----------+-------------+
    | rno | ccp  | col1 | col2 | col3 |   col4   |   Result    |
    +-----+------+------+------+------+----------+-------------+
    |   1 | ccp1 |   15 |   10 | 1100 | 0.100000 | 1083.500000 |
    |   2 | ccp1 |   20 |   10 | 1210 | 0.100000 | 1169.850000 |
    |   3 | ccp1 |   30 |   10 | 1331 | 0.100000 | 1253.835000 |
    |   4 | ccp2 |   10 |   15 |  900 | 0.150000 | 888.500000  |
    |   5 | ccp2 |   15 |   15 | 1000 | 0.150000 | 969.525000  |
    |   6 | ccp2 |   20 |   15 | 1010 | 0.150000 | 951.953750  |
    +-----+------+------+------+------+----------+-------------+
    


    1. SSIS のユーザー変数値に基づいてデータ フローで if..else を使用する方法

    2. 完全なMySQLデータベースレプリケーション?アイデア?人々は何をしますか?

    3. NULLを返すSQLクエリXML値

    4. ローカル ネットワーク上のすべての SQL Server インスタンスを見つける