如何在MySQL中显示输出

如何在MySQL中显示输出,mysql,sql,Mysql,Sql,我在MySQL中有两个表 第一个是销售,第二个是购买,我想看看股票 这是我的销售表,包含 日期数量产品名称 这是我的Purchase表,它包含与sale相同的健全属性 我执行了一个查询,但是我无法得到我想要的输出 SELECT sale.Date, sale.ProductName, SUM(sale.StockQuantityIn) as StockIN, SUM(purchase.StockQuantityout) as Stockout, (SUM(s

我在MySQL中有两个表

第一个是销售,第二个是购买,我想看看股票

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

这是我的Purchase表,它包含与sale相同的健全属性 我执行了一个查询,但是我无法得到我想要的输出

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
这是查询,结果不是我想要的输出


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

当您连接两个表时,您可以想象(这不是实际发生的情况,但有助于理解结果),它们的行的所有可能组合都会根据“where”约束进行计算和过滤


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

加入
不是很好,因为每个表中的每一行显示的次数与第二个表中匹配的次数相同。这就是为什么你会有这么多多余的存货

我将
UNION
2个查询,一个在销售中,一个在购买中,带有产品名称、日期和库存(对于购买时的查询为负数)


然后我将
ProductName和日期以及
SUM
StockIn

1进行分组。设置帖子的格式。2.不要包括图像。3.在你的脑海里,尽可能简单地回答这个问题。不需要检查,因为它可以从库存中计算出来。在你做更多之前,我建议你用谷歌搜索关系数据库