• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データベースで表示算のような計算は可能?)

データベースで表示算のような計算は可能?

このQ&Aのポイント
  • データベースで表示算のような計算は可能ですか?データベースで在庫数管理を行いたいのですが、集計方法がわかりません。Postgreで、以下のデータベースで計算可能な方法があれば教えてください。
  • Excelだと簡単なのですが、日付と入出庫及び3/4時点での在庫数がわかった場合、日付ごとにデータを取り出し、集計結果を在庫に反映する方法を教えていただけないでしょうか。
  • 素案としては日付をソートし、1つずつデータを取り出して集計結果を在庫にUpdateする予定です。データベースではこのような計算が可能なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

------------------ 日付 入出庫 在庫 3/4 0 30 3/5 10 40 3/6 -5 35 3/7 -20 20 ----------------- の3/7の在庫は15ですよね。 表示するだけなら select t.日付, t.入出庫, ( select t3.在庫 + sum(入出庫) from テーブル where 日付 <= t.日付 ) from テーブル t, ( select t2.在庫 from テーブル t2 where t2.日付 = ( select min(日付) from テーブル ) ) t3; でいけます。

noname#141015
質問者

お礼

回答ありがとうごさいました

その他の回答 (2)

  • PXU10652
  • ベストアンサー率38% (777/1993)
回答No.3

「データベースで表示算のような計算は可能ですか?」  可能ですが、どのようなテーブル&データ構造になっているのかが分からないと、答えようがありません。  入庫と出庫に在庫のテーブルがあり、商品のID、日付、数量が複数存在するとして、商品のIDと日付でグルーピングして、数量の合計を求めれば、商品ID別に指定した日の入庫数と出庫数が分かります。そこまで来れば、在庫数は、「前日在庫数+入庫数-出庫数」で計算できます。

noname#141015
質問者

お礼

回答ありがとうごさいました

  • gtx456gtx
  • ベストアンサー率18% (194/1035)
回答No.1

>データは日付と入出庫及び3/4時点での在庫数がわかった場合、 >下記のテーブルをSQLなどで作成は可能でしょうか? >Excelだと簡単なのですが ご質問のような処理ができないデータベースでは存在価値がないですが・・・「Excelだと簡単」という点が問題です。 ExcelではExcelに適した処理、データベースにはデータベースに適した処理(Oracle、PostgeSQLなどで違いもあると思います)があるので、「Excelだと簡単」ならExcelで処理しては如何ですか? PostgreSQLで処理する場合、下記のどちらかの方法を採用すると思いますが、どちらも簡単と思います。#1の場合、記録されているレコード数(数百万件程度までは心配ない?)が増えるに従って遅くなりますがデータベースなので、そんな遅くはないと思います。 1.入出庫データをそのまま記録し、出力時に全てのデータを計算して在庫数を算出 2..入出庫データを記録する時に、在庫数を更新して常に在庫数記録

noname#141015
質問者

お礼

回答ありがとうごさいました

関連するQ&A