当前位置: 首页 > 面试题库 >

如何使用SQL求和和减法?

尉迟鑫鹏
2023-03-14
问题内容

我正在使用MySQL,并且有两个表:

master_table

  • 订单号
  • 项目
  • 数量

stock_bal

  • 项目
  • BAL_QTY

主表具有重复项ORDERNOITEM值。我QTY使用SQL’GROUP BY’子句获得总计。

我需要BAL_QTYITEM(master_table)的总和中扣除/减去。我有QTY使用查询的SUM 值(实际上有很多行)。


问题答案:

我认为这就是您要寻找的。NEW_BALQTY从余额中减去的s 的总和:

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


 类似资料:
  • 问题内容: 我有多行数据共享相同的公司ID。 有没有一种方法可以使用SQL Server Management Studio 2005对所有金额进行“总和”,以便为每个公司ID给我一行数据? 例如,我目前有以下数据…… 我想尝试得到的是....... 有没有办法做到这一点? 任何指向我正确方法的建议都很好。 谢谢, 问题答案:

  • 问题内容: 我有一个表,其中包含以下格式的日期时间值: 开始 1/13/2009 7:00:00 AM 结束 1/13/2008 2:57:00 PM 我使用“ str to date”功能将其转换为日期时间格式。 如何计算它们之间的差异?然后将其汇总,以总小时数显示(即一周的总小时数为40:53)。 我正在尝试timediff函数,但结果不总和。 问题答案: 尝试调查和。 您将总结时间戳之间的差

  • 我的数据: 预期Arr: 我的代码是通过删除重复的来简化模型: 但是我不能和s。 我怎么能做到呢?

  • 问题内容: 像Go这样的类型,并且不能存储null值,因此我发现可以为此使用sql.NullInt64和sql.NullString。 但是,当我在Struct中使用它们,并使用json包从Struct生成JSON时,格式与使用常规和类型时不同。 JSON具有附加级别,因为sql.Null ***也是Struct。 有没有很好的解决方法,还是应该在我的SQL数据库中不使用NULL? 问题答案: 像

  • 似乎有支持类-在包中。然而,我一直无法找到文档、示例、测试用例,以便在一组图表中使用这种排列/布局。 指针赞赏。

  • 问题内容: 我想执行一个在本机SQL中看起来像这样的查询: 如果我想像这样在Doctrine的查询生成器中实现这一点: 我收到错误异常 [语法错误]第0行,第63行:错误:预期的已知功能,获取了’YEAR’ 如何使用Doctrines查询构建器实现查询? 笔记: 我知道Doctrine的Native SQL。我已经尝试过了,但是这导致了我的生产数据库表和开发数据库表使用不同名称的问题。我想与数据库