1

我正在给自己写一个小财务计划,但我在这里遇到了这个小问题:)

我以两种不同的货币(美元、欧元)存储我的收据。基本上我想做一个 SELECT 查询,它将返回欧元收据的总和。

SELECT SUM(IF(type='euro',amount,amount*value)) FROM receipt

到目前为止,我发现上面的这个查询不会遍历表的每一行。它只是为我总结了第二个陈述。

任何帮助是极大的赞赏。

4

2 回答 2

0
SELECT SUM(SELECT amount FROM receipt WHERE type='euro') AS euro_amount, SUM(SELECT amount FROM receipt WHERE type='usd') AS usd_amount FROM receipt

您不能在 if 条件中写入字段的总和,如果您想使用单个查询获取结果,可以尝试上面的子查询

于 2013-09-29T13:11:35.297 回答
0

怎么样:

select 
    (select sum(amount) from receipt where type='euro') +
    (select sum(amount)*value from receipt where type != 'euro')
于 2013-09-29T13:04:35.283 回答