有人可以帮我解决这个问题吗?
SELECT x.poid
, COUNT(b.poitemsid)
, SUM(SUM(unitprice) * SUM(qty))
, recievedate inventoryrecieved as c
FULL
OUTER
JOIN poitems b
ON c.poitemsid = b.poitemsid
FULL
OUTER
JOIN purchaseorder x
ON b.poid = x.poid
GROUP
BY x.poid
, podate
, b.poitemsid
, recievedate
, unitprice
, qty
最佳答案
我认为您正在寻找:
select po.POID, Count(p.POItemsID),
Sum(UnitPrice * Qty),
RecieveDate
from InventoryRecieved ic join
POItems p
on ic.POItemsID = p.POItemsID join
PurchaseOrder po
on p.POID = po.POID
group by po.POID, p.POItemsID, RecieveDate;
注释:
- 问题的解决方案是一个简单的乘积
sum()
。 - MySQL 不支持
完全外连接
。基本的内部联接应该没问题。 - 您的
分组依据
仅需要select
中未聚合的列。 - 建议使用表名称缩写的表别名。
关于mysql - 获取2列的总和并在sql中将它们相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45907372/