2014-09-29 37 views
-1

我有Orderdetails表,其中包含訂單的詳細信息,我需要計算每個產品的銷售額減去每個產品退還(返回)的訂單。我怎麼能組減計數?

ex: total sales of product = sales orders total - returned orders of a product 

注意:我使用了事務類型字段,以便我可以過濾訂單類型。

訂單明細表字段。

ID - Productname - Price - ono - transaction_type 
11 - prod1  - 100.00- 1 - salesorder 
12 - prod2  - 200.00- 2 - salesorder 
13 - prod1  - 100.00- 1 - returned 
14 - prod2  - 200.00- 3 - salesorder 
15 - prod2  - 200.00- 4 - salesorder 

我問

Productname - Total sales 
Prod1  - 0 
Prod2  - 3 
+0

http://sqlfiddle.com/#!2/914a5/5 – user1933888 2014-09-29 06:44:01

回答

0

你可以嘗試這樣什麼---

Select Product_NAME, Sum(Case when transaction_type='salesorder' then 1 Else 0 End)- Sum(Case when transaction_type!='salesorder' then 1 Else 0 End) as TotalSale 
from OrderDetals group by Product_NAME 
+0

非常感謝這一個天才的想法:) – 2014-09-29 06:45:45

+0

@ZiadELNaggar不是天才,是的,你可以說很微妙的......很高興,它幫助您 – 2014-09-29 06:49:05

0

試試這個!

SELECT ProductName, 
SUM(CASE WHEN [transaction_type] = 'salesorder' THEN [Quentity] ELSE -1 * [Quentity] END) AS [Total Number Of Sale] 
FROM your_table)name 
GROUP BY ProductName