2017-07-07 40 views
-5
SELECT item_id, 
     CREDITBAL= (SELECT Sum(quantity) 
        FROM axi_quantity_registers 
        WHERE from_where != 'OPENING' 
          AND transaction_type = 'C'), 
     OPENBAL = (SELECT Sum(quantity) 
        FROM axi_quantity_registers 
        WHERE from_where = 'OPENING'), 
     DEBITBAL = (SELECT Sum(quantity) 
        FROM axi_quantity_registers 
        WHERE transaction_type = 'D') 
FROM axi_quantity_registers 
+4

歡迎堆棧溢出。請花點時間參加[Tour](https://stackoverflow.com/tour)並閱讀[how-to-ask](https://stackoverflow.com/questions/how-to-ask)以獲取爲您的問題提供更好的答案 –

+0

您真的希望有人幫助解答您的問題嗎?解釋你想要達到什麼。添加樣本數據和預期結果 –

+0

item_id CREDITBAL OPENBAL DEBITBAL 1 200 500 250 – Nikita

回答

0

看起來像你想有一個GROUP BY有條件聚集:

SELECT item_id, 
     sum(case when from_where != 'OPENING' AND transaction_type = 'C' then quantity end) as CREDITBAL, 
     sum(case when from_where = 'OPENING' then quantity end) as OPENBAL, 
     sum(case when transaction_type = 'D' then quantity end) as DEBITBAL 
FROM axi_quantity_registers 
group by item_id