如何基于另一列在同一行中减去mysql

时间:2013-04-17 11:57:28

标签: mysql sql

我试图减去卖出的美元兑买入的美元。

**|Tran_ID|Currency_type|currency_Amount|Local_Amount|  Rate  |Tran_type| ** 
  | 85     |   USD      |   2500       |    1581.54  |1.58074 |  Bought |
  | 78     |   USD      |   3487.57    |    2206.29  |1.58074 |  Bought |
  | 86     |   USD      |   100        |    63.26    |1.58074 |  Bought |
  | 87     |   USD      |   94.17      |    63.26    |1.48866 |  Sold   |
  | 88     |   USD      |   2600       |    1746.54  |1.48866 |  Sold   |
  | 89     |   USD      |   2600       |    1746.54  |1.48866 |  Sold   |

我可以使用下面的查询添加销售或购买的美元总价值

SELECT Currency_type, sum( currency_Amount ) AS total_bought
FROM Transaction
WHERE Currency_type=  'USD'
AND Tran_type =  'Bought'       <==  **or 'Sold'**

结果低于

**|Currency_type | total_bought    |**
|USD             |6087.570068359375|

1 个答案:

答案 0 :(得分:8)

您可以在交易类型上设置标志:

SUM(currency_Amount * IF(Tran_type = "Bought", 1, -1))