获取2个乘法列SQL的总和

时间:2018-06-16 21:22:56

标签: sql sum

我有这3张桌子:

比尔

idBill

产品

idProduct
price

BillProducts (连接上表):

idBill
idProduct
quantity

现在让我们说我希望得到一个由其身份证明的特定账单的总价

我需要将Products.Price的列乘以BillProducts.quantity,得到其结果并汇总idBill

中的所有其他产品

你们可以帮我写一下这个查询吗?

2 个答案:

答案 0 :(得分:3)

SELECT SUM(QUANTxPRICE) AS SUMED, IDBILL FROM (
SELECT (A.QUANTITY * B.PRICE) AS QUANTxPRICE,a.IDBILL
FROM BILLPRODUCTS AS A
JOIN PRODUCTS AS B ON 
A.IDPRODUCT = B.IDPRODUCT
JOIN BILL AS C
ON A.IDBILL = C.IDBILL
) AS X
GROUP BY IDBILL

enter image description here

答案 1 :(得分:1)

你会这样做:

select sum(p.price * bp.product)
from billproducts bp join
     products p
     on bp.idproduct = p.idproduct
where idbill = <idbill>;

您可以使用group by

获取所有帐单
select idbill, sum(p.price * bp.product)
from billproducts bp join
     products p
     on bp.idproduct = p.idproduct
group by idbill;

注意:

  • 您不需要join bills表。您需要的所有信息都在另外两个表格中。
  • 您不需要子查询。
  • 定义表别名时,它们应该是表名的缩写,因此查询更容易理解。