我正在给自己写一个小财务计划,但我在这里遇到了这个小问题:)
我以两种不同的货币(美元、欧元)存储我的收据。基本上我想做一个 SELECT 查询,它将返回欧元收据的总和。
SELECT SUM(IF(type='euro',amount,amount*value)) FROM receipt
到目前为止,我发现上面的这个查询不会遍历表的每一行。它只是为我总结了第二个陈述。
任何帮助是极大的赞赏。
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 条件中写入字段的总和,如果您想使用单个查询获取结果,可以尝试上面的子查询
怎么样:
select
(select sum(amount) from receipt where type='euro') +
(select sum(amount)*value from receipt where type != 'euro')