2017-08-27 45 views
0

有人可以幫助我嗎?獲得2列的總和,並在SQL中多出它們?

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 
+0

'SUM(col1 * col2)' – Mihai

+1

如果你解釋你想要做的事情,有人更有可能幫助你。第一眼看上去,你似乎總結了所有的價格,然後乘以所有數量的總和。這可能沒有用,我懷疑你可能是在總和之後(單位價格*數量) – Harun

+0

你也可能不想按照你正在求和的字段進行分組,因爲這會給你很多單獨的總和,只有一個值時間,也就是價值本身。 – Harun

回答

0

我認爲你正在尋找:

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不支持full outer join。基本的內部連接應該沒問題。
  • 您的group by只需要select的未分類列。
  • 建議使用表名的縮寫表別名。
+0

感謝救星的幫助 –