我使用的是MySQL,我有两个表:
master_table
stock_bal
主表具有重复的ORDERNO和ITEM值。我使用SQL 'GROUP BY‘子句获得了总QTY。
我需要从ITEM的和(master_table)中减去BAL_QTY。我使用query得到了SUM QTY的值(实际上有很多行)。
发布于 2011-07-16 11:33:38
我想这就是你要找的。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)这假设您向后提交了减法;它从余额中减去订单中的数量,这在不了解表的更多信息的情况下最有意义。如果我错了,只需交换这两个来更改它:
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL发布于 2019-10-14 15:42:23
使用子查询的简单复制和粘贴示例,请注意,两个查询都应返回一行:
select
(select sum(items_1) from items_table_1 where ...)
-
(select count(items_2) from items_table_1 where ...)
as difference发布于 2011-07-16 11:31:54
我不确定你到底想要什么,但我想大概是这样的:
SELECT `Item`, `qty`-`BAL_QTY` as `qty` FROM ((SELECT Item, SUM(`QTY`) as qty FROM `master_table` GROUP BY `ITEM`) as A NATURAL JOIN `stock_table`) as Bhttps://stackoverflow.com/questions/6715095
复制相似问题