2014-11-02 7 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

и показать SUM_Added_Qty - SUM_Deducted_Qty AS Stock

результат должен быть на той же строке

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

Спасибо за помощь!

(Система Sql сервер)

+0

Что вы имеете в виду "Система Sql"? Это MySQL, Oracle, SQL-Server и т. Д.? – Barmar

ответ

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 (случай, когда Doc_Type = '2' THEN Added_Qty КОГДА Doc_Type = '7' THEN -Deducted_Qty - Requested_Qty ELSE 0 END) со но результат 0 –

Смежные вопросы