【问题标题】:how can I show My Output in MySQL如何在 MySQL 中显示我的输出
【发布时间】:2016-04-13 14:45:14
【问题描述】:

我在 MySQL 中有 2 个表

第一个是Sale,第二个是Purchase我想看股票

这是我的销售表,其中包含 日期 数量 产品名称

这是我的采购表,其中包含销售所具有的健全属性 我执行了一个查询,但我无法得到我想要的输出

SELECT sale.Date, sale.ProductName, SUM(sale.StockQuantityIn) as StockIN, 
        SUM(purchase.StockQuantityout) as Stockout, 
        (SUM(sale.StockQuantityIn)-SUM(purchase.StockQuantityout)) as stock     
from sale 
join purchase on purchase.ProductName=sale.ProductName 
GROUP BY sale.Date,purchase.Date ,purchase.ProductName,sale.ProductName

这是查询,结果不是我想要的输出

【问题讨论】:

  • 1.格式化帖子。 2. 不包括图片。 3. 让您尽可能轻松地回答问题
  • 库存不是必需的,因为它可以从 StockIN - Stock out 计算。在你做任何事情之前,我建议你使用谷歌关系数据库

标签: mysql sql


【解决方案1】:

JOIN 不是很好,因为每个表中的每一行都会出现与第二个表中匹配的次数一样多。这就是为什么你会得到所有这些额外的库存。

我会UNION 2 个查询,一个在销售,一个在购买,带有 ProductName、Date 和 StockIn(这对于购买查询是负面的)

然后我会 GROUP BY ProductName 和 Date 和 SUM StockIn

【讨论】:

    【解决方案2】:

    您不能像以前那样连接这两个表。

    当您连接两个表时,您可以想象(这不是真正发生的情况,但有助于理解结果)它们的行的所有可能组合都经过评估,然后根据“where”约束进行过滤。

    尝试模拟这个过程,你会看到结果是你所期望的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-12
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2020-04-05
      相关资源
      最近更新 更多