0

Oracle の単純なテーブルを考えてみましょう。

buySell     quantity
--------------------
buy         200
sell        100
...

テーブルの正味数量を取得したいのですが、それが正味購入の場合は正、それ以外の場合は負です。1 つのクエリでそれを達成するにはどうすればよいですか? 可能であれば、一般的な解決策 (他の DBMS で使用できる) をお勧めします。しかし、優れた Oracle のみのソリューションがあれば、それも共有していただければ幸いです。

より一般的には、カスタム集計を行う方法です (たとえば、集計の前に、他の列の値に応じて異なる数値をレコードの数量に乗算します)。

4

3 に答える 3

2
Select
    Sum(Case When buySell = 'sell' then -1 else 1 end * quantity)
From
    table
于 2013-09-14T10:27:26.683 に答える
0

sellをマイナスに変える必要があります。-1 を掛けます。

select sum( case when buysell = 'sell' then -1 * quantity
                 else quantity
            end ) as result
  from table

これは、ほとんどの SQL ダイアレクトで機能するはずです。

于 2013-09-14T10:27:21.820 に答える