2016-05-11 8 views
0

質問。 PRODUCTテーブルとORDERLINEテーブルの両方に納品されたすべての製品の製品名、数量、販売価格の合計と小計を記載します。製品名の昇順に並べます。合計と小計

マイコード:

SELECT 
p.PRODNAME AS "PRODUCT NAME", 
ol.QTYDELIVERED AS "QUANTITY DELIVERED", 
ol.SALEPRICE AS "SALE PRICE" from ORDERLINE ol 
INNER JOIN PRODUCT p ON 
ol.PRODID = p.PRODID 
ORDER BY p.PRODNAME ASC; 

My current Result

Desired Result

+1

データを書式付きテキストとして送信してください – Aleksej

答えて

1

あなたがこれを使用することができます(CTEを使用)

with subtotal as 
(
    SELECT p.PRODID, 
     p.PRODNAME AS "PRODUCT NAME", 
     ol.QTYDELIVERED AS "QUANTITY DELIVERED", 
     ol.SALEPRICE * ol.QTYDELIVERED AS "SALE PRICE" 
    from ORDERLINE ol 
    INNER JOIN PRODUCT p 
    ON ol.PRODID = p.PRODID 
    ORDER BY p.PRODNAME ASC 
) 
select * 
from (select * from subtotal 
     union all 
     select PRODID, "PRODUCT NAME", sum("QUANTITY DELIVERED"), 
      sum("SALE PRICE") 
     from subtotal 
     group by PRODID, "PRODUCT NAME" 
    ) 
order by "PRODUCT NAME", PRODID, "QUANTITY DELIVERED"; 

あなたは理由により、グループ内の合計を計算するPRODIDを含める必要がありますPRODNAMEはn一意です。

関連する問題