データベースで表示算のような計算は可能ですか?
データベースで在庫数管理を行いたいのですが、集計方法がわかりません。Postgreで、以下のデータベースで計算可能な方法があれば教えてください。
データは日付と入出庫及び3/4時点での在庫数がわかった場合、
下記のテーブルをSQLなどで作成は可能でしょうか?
Excelだと簡単なのですが
------------------
日付 入出庫 在庫
3/4 0 30
3/5 10 40
3/6 -5 35
3/7 -20 20
-----------------
素案としては日付、ソート後、1つずつデータを取り出し、集計結果を在庫にUpdateする予定です。
アドバイスお願いします
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;
でいけます。
No.3
- 回答日時:
「データベースで表示算のような計算は可能ですか?」
可能ですが、どのようなテーブル&データ構造になっているのかが分からないと、答えようがありません。
入庫と出庫に在庫のテーブルがあり、商品のID、日付、数量が複数存在するとして、商品のIDと日付でグルーピングして、数量の合計を求めれば、商品ID別に指定した日の入庫数と出庫数が分かります。そこまで来れば、在庫数は、「前日在庫数+入庫数-出庫数」で計算できます。
No.1
- 回答日時:
>データは日付と入出庫及び3/4時点での在庫数がわかった場合、
>下記のテーブルをSQLなどで作成は可能でしょうか?
>Excelだと簡単なのですが
ご質問のような処理ができないデータベースでは存在価値がないですが・・・「Excelだと簡単」という点が問題です。
ExcelではExcelに適した処理、データベースにはデータベースに適した処理(Oracle、PostgeSQLなどで違いもあると思います)があるので、「Excelだと簡単」ならExcelで処理しては如何ですか?
PostgreSQLで処理する場合、下記のどちらかの方法を採用すると思いますが、どちらも簡単と思います。#1の場合、記録されているレコード数(数百万件程度までは心配ない?)が増えるに従って遅くなりますがデータベースなので、そんな遅くはないと思います。
1.入出庫データをそのまま記録し、出力時に全てのデータを計算して在庫数を算出
2..入出庫データを記録する時に、在庫数を更新して常に在庫数記録
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) エクセルで在庫表を作っています。 それぞれの表で、入庫、出庫、残高が表示される表を作っています。 任 9 2023/05/03 21:45
- その他(Microsoft Office) Excelの関数(FILTER関数)について教えてください 2 2023/07/31 16:11
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
最新レコードを抽出し外部結合...
-
SQLでUPSERTを一度に複数行やる...
-
2つのテーブルで引き算 postgres
-
【PostgreからSQL-Serverのテー...
-
javaでデータベース上のテーブ...
-
PostgreSQLの断片化の状況を確...
-
単純なselectが遅くなるのです...
-
テーブルにcsvファイルをインポ...
-
UPDATE文の更新順序について
-
テーブル定義書作成時のIndex付...
-
データベースで表示算のような...
-
postgres FILLFACTOR 確認方法
-
デットロック回避策(autocommit...
-
Pythonで2つのデータ(キー無し...
-
VIEWのCOPYってできないんですか?
-
DISTINCTとGROUP BYの違い
-
SQLにて指定日付より前、かつ最...
-
Postgresのデータ領域の拡張に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
SQLにて指定日付より前、かつ最...
-
テーブルに存在しない列をselec...
-
SQLでUPSERTを一度に複数行やる...
-
単純なselectが遅くなるのです...
-
PostgreSQLの断片化の状況を確...
-
javaでデータベース上のテーブ...
-
2つのテーブルで引き算 postgres
-
PostgreSQL レコードからアイテ...
-
Postgresのデータ領域の拡張に...
-
Postgresqlのレポート機能について
-
VIEWのCOPYってできないんですか?
-
POSTGRESQL 検索スピードが遅い
-
Pythonで2つのデータ(キー無し...
-
備品管理のデータベースについて
-
最新レコードを抽出し外部結合...
-
重複を許すキーの構文がわかり...
-
データのマッチングです。お願...
-
テーブルにcsvファイルをインポ...
-
postgreSQL カラムの全ての値を...
おすすめ情報