首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用SQL进行加法和减法?

如何使用SQL进行加法和减法?
EN

Stack Overflow用户
提问于 2011-07-16 11:23:57
回答 6查看 444.4K关注 0票数 42

我使用的是MySQL,我有两个表:

master_table

  • ITEM

  • QTY

  • ORDERNO

stock_bal

  • 项目
  • BAL_QTY

主表具有重复的ORDERNOITEM值。我使用SQL 'GROUP BY‘子句获得了总QTY

我需要从ITEM的和(master_table)中减去BAL_QTY。我使用query得到了SUM QTY的值(实际上有很多行)。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-07-16 11:33:38

我想这就是你要找的。NEW_BAL是从余额中减去QTY的和:

代码语言:javascript
复制
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

如果要使用新余额更新物料余额,请使用以下方法:

代码语言:javascript
复制
UPDATE stock_bal
SET    BAL_QTY = BAL_QTY - (SELECT   SUM(QTY)
                            FROM     master_table
                            GROUP BY master_table.ORDERNO,
                                     master_table.ITEM)

这假设您向后提交了减法;它从余额中减去订单中的数量,这在不了解表的更多信息的情况下最有意义。如果我错了,只需交换这两个来更改它:

代码语言:javascript
复制
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL
票数 53
EN

Stack Overflow用户

发布于 2019-10-14 15:42:23

使用子查询的简单复制和粘贴示例,请注意,两个查询都应返回一行:

代码语言:javascript
复制
select
(select sum(items_1) from items_table_1 where ...)
-
(select count(items_2) from items_table_1 where ...) 

as difference
票数 3
EN

Stack Overflow用户

发布于 2011-07-16 11:31:54

我不确定你到底想要什么,但我想大概是这样的:

代码语言:javascript
复制
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 B
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6715095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档