[解決済み] SQLを使用してSUMとSUBTRACTを行うには?
2022-03-13 01:42:34
質問
MySQLを使用していて、2つのテーブルを持っています。
master_table
- ORDERNO
- アイテム
- 数量
stock_bal
- ITEM
- BAL_QTY
マスターテーブルが重複している
ORDERNO
と
ITEM
の値を指定します。私は、合計
QTY
SQLの'GROUP BY'句を使用しています。
を差し引く必要があります。
BAL_QTY
のSUMから
ITEM
(master_table)を使用します。 私は、SUM
QTY
の値がクエリで表示されます(実際には多くの行があります)。
どのように解決するのですか?
お探しのものは、これだと思います。
NEW_BAL
の合計です。
QTY
を差し引いた残高を表示します。
SELECT master_table.ORDERNO,
master_table.ITEM,
SUM(master_table.QTY),
stock_bal.BAL_QTY,
(stock_bal.BAL_QTY - SUM(master_table.QTY)) AS NEW_BAL
FROM master_table INNER JOIN
stock_bal ON master_bal.ITEM = stock_bal.ITEM
GROUP BY master_table.ORDERNO,
master_table.ITEM
項目残高を新しい残高で更新したい場合は、以下を使用します。
UPDATE stock_bal
SET BAL_QTY = BAL_QTY - (SELECT SUM(QTY)
FROM master_table
GROUP BY master_table.ORDERNO,
master_table.ITEM)
これは、あなたが引き算を逆に投稿したと仮定しています。これは、バランスから順番に数量を引きますので、あなたのテーブルについて詳しく知らなくても、最も理にかなっていると思います。もし私が間違っていたら、この2つを入れ替えるだけで、変更できます。
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL
関連
-
CMakeエラー。ソースディレクトリ "/xxx/mysql-5.6.21" に CMakeLists.txt がないようです。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] 最初の行への結合方法
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] MySQL テーブルに行が存在するかどうかをテストする最良の方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQL集計、グループ化、ソート
-
MySQLインデックスベースストレステストの実装
-
MysqlからElasticsearchにデータを同期させる方法を説明します。
-
[解決済み】マルチパート識別子をバインドできませんでした。
-
[解決済み] SQLエラー。ORA-01861:リテラルは、フォーマット文字列01861に一致しません。
-
SQLException。オペランドは1列でなければなりません。
-
Mysqlの使用中に発生したエラーの一部
-
[解決済み] Ubuntu linux上で動作するリモートMySQLサーバーを再起動する方法は?
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?