使用联接的SQL查询以找到数量的总和

问题描述 投票:-2回答:3

Product table

billtran table

在这里,在Billtran表中,productid = 1重复了两次

我想分别找到每个产品编号的sum(billtran.quantity)

I want this output,the out expected my me is

选择查询1:

 select name,billtran.quantity from product inner join billtran on product.id=billtran.productid where product.id in(select id from product)

Output of select query1

mysql sql join select inner-join
3个回答
1
投票
每个评论:

select name, SUM(billtran.quantity) from product inner join billtran on product.id=billtran.productid where product.id in(select id from product) GROUP BY NAME

我加盖的大写字母

注意:where product.id in(select id from product)是一个完全没用的where子句,应将其删除。查询不必具有where子句,也不需要说表ID应当在该表的所有ID中(始终为true)]

因此,我将这样写为:

SELECT p.name, SUM(b.quantity) as sumof_quantity FROM product p INNER JOIN billtran b ON p.id=b.productid GROUP BY p.name


1
投票
首先,您必须根据product_id获得数量的总和

SELECT product.name, SUM(billtran.quantity) AS value_sum FROM billtran inner join product on product.id= billtran.product_id where product.id in(select id from product ) GROUP BY product_id;

这将是结果:

name quantity abc 6 xyz 1 pqt 3

您也可以通过将product.name分组来获得相同的结果:

SELECT product.name, SUM(billtran.quantity) AS value_sum FROM billtran inner join product on product.id=billtran.product_id where product.id in(select id from product) GROUP BY product.name;

供将来使用:不要使用图像显示表格和结果。对于那些愿意帮助您轻松理解问题和预期输出的内容,我会容易得多。


1
投票
非常简单的查询。请检查以下内容:从product.id = billtran.productid的产品内部加入billtran中选择product.name,sum(billtran.quantity),然后按billtran.productid分组]
© www.soinside.com 2019 - 2024. All rights reserved.