SUM
クエリでデータを変換すると、一部の数値が本質的に負であることを認識するようになりましたが、そのようには表されません。SQL SUMと値の変換
inv_type
欄にクレジットの値
C
を持つすべてのレコードがSQL
SUM
機能に負として扱われるべきであるが)例えば、データセットがデータベースに負のように書かれていませんまた、信用取引を含み、顧客のバランスを探し
。例として:
INVOICES
inv_no inv_type cust_no value
1 D 25 10
2 D 35 30
3 C 25 5
4 D 25 50
5 C 35 2
私の簡単なSUM
機能は私に正しい答えを与えないだろう。
select cust_no, sum(value) from INVOICES
group by cust_no
このクエリは明らかであるが、顧客のバランスに65と32のためのノー35のための25を合計しないだろう予想される答えは10-5 + 50 = 55と30-2 = 28
何らかの形でCAST
の機能を使用するべきでしょうか?残念ながら、私は基本的なdbエンジンについて最新ではありませんが、IBM起源の可能性は十分にあります。基本的なSQLコードのほとんどはこれまでには成果を上げています。
[SELECT]文に[IF]の重複があります - 列の値に基づいて出力値を選択](https://stackoverflow.com/questions/5951157/if-in-select-statement-choose-output-value列ベースの値) – caramba
どの[DBMS](https://en.wikipedia.org/wiki/DBMS)製品を使用していますか? Postgres?オラクル? "_SQL_"はクエリ言語であり、特定のデータベース製品の名前ではありません。 –