在这里,在Billtran表中,productid = 1重复了两次
我想分别找到每个产品编号的sum(billtran.quantity)
选择查询1:
select name,billtran.quantity from product inner join billtran on product.id=billtran.productid where product.id in(select id from product)
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
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;
供将来使用:不要使用图像显示表格和结果。对于那些愿意帮助您轻松理解问题和预期输出的内容,我会容易得多。