2017-08-27 10 views
0

誰かがこれで私を助けることができますか?2列の合計を取得し、SQLでそれらをmutliply?

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

あなたがしようとしていることを説明すると誰かがあなたを助けることができます。しかし、一見すると、すべての価格を合計してから、すべての数量の合計を掛けているようです。それはおそらく有用ではない、私はあなたがちょうどsum(unitprice * qty)の後になるかもしれないと思う。 – 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

助けてくれてありがとうgodbless –

関連する問題