获取两个相乘的SQL列的总和
我有三张桌子: 比尔:获取两个相乘的SQL列的总和,sql,sum,Sql,Sum,我有三张桌子: 比尔: idBill idProduct price 产品: idBill idProduct price BillProducts(连接上表): 现在让我们假设我希望得到一张由ID标识的账单的总价 我需要将Products.Price的列乘以BillProducts.quantity,得到它的结果,并将idBill中的所有其他产品相加 你们能帮我写那个问题吗 SELECT SUM(QUANTxPRICE) AS SUMED, IDBILL FROM ( SELECT (
idBill
idProduct
price
产品:
idBill
idProduct
price
BillProducts(连接上表):
现在让我们假设我希望得到一张由ID标识的账单的总价
我需要将Products.Price
的列乘以BillProducts.quantity
,得到它的结果,并将idBill
中的所有其他产品相加
你们能帮我写那个问题吗
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
您可以这样做:
select sum(p.price * bp.product)
from billproducts bp join
products p
on bp.idproduct = p.idproduct
where idbill = <idbill>;
注:
- 您不需要
加入
账单
表。您需要的所有信息都在另外两个表中
- 您不需要子查询
- 定义表别名时,它们应该是表名的缩写,这样查询更容易理解
select sum(p.price * bp.product)
from billproducts bp join
products p
on bp.idproduct = p.idproduct
where idbill = <idbill>;
注:
- 您不需要
加入
账单
表。您需要的所有信息都在另外两个表中
- 您不需要子查询
- 定义表别名时,它们应该是表名的缩写,这样查询更容易理解