2014-11-02 73 views
-3

我有一個表的字段:SQL和列依賴於其他列的值

Doc_No , Doc_Type , Item_No , Added_Qty ,Deducted_Qty 

我需要一個查詢返回結果集基於

  • if Doc_Type= "2" then select sum(Added_Qty) AS SUM_Added_Qty
  • if Doc_Type= "7" then select sum(Deducted_Qty) AS SUM_Deducted_Qty

and show SUM_Added_Qty - SUM_Deducted_Qty AS Stock

的成績必須在同一行

-------------------------------------------------------- 
| Item_No | SUM_Added_Qty | SUM_Deducted_Qty | Stock| 
-------------------------------------------------------- 

感謝您的幫助!

(系統是SQL Server)的

+0

你是什麼意思 「系統是SQL」?是MySQL,Oracle,SQL-Server等嗎? – Barmar 2014-11-02 06:50:13

回答

0
SELECT Item_No, 
     SUM(CASE WHEN Doc_Type = '2' THEN Added_Qty ELSE 0 END) SUM_Added_Qty, 
     SUM(CASE WHEN Doc_Type = '7' THEN Deducted_Qty ELSE 0 END) SUM_Deducted_Qty, 
     SUM(CASE WHEN Doc_Type = '2' THEN Added_Qty 
       WHEN Doc_Type = '7' THEN -Deducted_Qty 
       ELSE 0 END) Stock 
FROM YourTable 
GROUP BY Item_No 
+0

非常感謝:) 我想添加更多字段 SUM(CASE WHEN DOC_TYPE = '2' THEN Added_Qty WHEN DOC_TYPE = '7' THEN -Deducted_Qty - Requested_Qty ELSE 0 END)股票 但它導致0 – 2014-11-02 07:50:11