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

SQL:フィールドタイプに基づくADD&MINUS

    変数を使用して累積金額を保持できます:

    SELECT ID, 
           @s := IF(ACTION_TYPE='ADD', @s + ACTION_QTY, @s - ACTION_QTY) AS BALANCE,
           ACTION_QTY,
           ACTION_TYPE
    FROM tableA
    CROSS JOIN (SELECT @s := 0) AS var
    ORDER BY ID 
    

    上記のクエリは、ACTION_TYPEのタイプが2つしかないことを前提としています。 値、つまり'ADD' および'DEDUCT' 。したがって、ACTION_TYPE 'ADD'と等しくありません 、それは'DEDUCT'に等しい 。

    デモはこちら




    1. MySQL:すべての列がサブストリングを実行するためのディレクティブ?

    2. OCIEnvNlsCreate()が失敗しました。 phpでOracleデータベースに接続しようとすると

    3. SQLServer全文検索で行が見つかりません

    4. ラテン語-1/UTF-8エンコーディングphp