Tha*_*csc 25 mysql sql aggregate-functions
我使用MySQL,我有两个表:
master_table
stock_bal
主表具有重复ORDERNO
和ITEM
值.我总是QTY
使用SQL'GROUP BY'子句.
我需要BAL_QTY
从ITEM
(master_table)的SUM中扣除/减去.我QTY
使用查询得到SUM 值(实际上有很多行).
Dev*_*rke 36
我想这就是你要找的东西.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
Run Code Online (Sandbox Code Playgroud)
如果要使用新余额更新项目余额,请使用以下命令:
UPDATE stock_bal
SET BAL_QTY = BAL_QTY - (SELECT SUM(QTY)
FROM master_table
GROUP BY master_table.ORDERNO,
master_table.ITEM)
Run Code Online (Sandbox Code Playgroud)
假设您向后发布减法; 它从天平中减去订单中的数量,这在不了解您的表格的情况下最有意义.如果我错了,只需交换这两个就改变它:
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL
Run Code Online (Sandbox Code Playgroud)
Ale*_*ich 11
带有子查询的简单复制和粘贴示例,请注意,两个查询都应返回 1 行:
select
(select sum(items_1) from items_table_1 where ...)
-
(select sum(items_2) from items_table_1 where ...)
as difference
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
326388 次 |
最近记录: |