首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL reporting查询

MySQL reporting查询
EN

Stack Overflow用户
提问于 2012-10-11 10:32:31
回答 1查看 75关注 0票数 0

我有以下db模式(我只提到查询所需的每个表的列):

代码语言:javascript
复制
bills
-------
id
amount (decimal)
collection_case_id


collection_case
------------------
id


payments
----------
id
bill_id
amount (decimal)
type (char(2)) - "CH" stands for check payment, field used for polymorphism 

check_payments
---------------
payment_id

对于一组收款箱,我需要获得从支票付款中获得的总利息。在检索了我的一组收款案例标准的所有账单记录后,我目前正在内存中进行这些计算。对于每个账单,如果收到的支票总数大于账单金额,我只需添加收到的支票总数-账单金额。

例如,我收到的总查询如下所示(收集案例1和2):

代码语言:javascript
复制
select sum(payment.amount) as received 
from bills bill
cross join payments payment inner join check_payments checkpayment 
on 
payment.id=checkpayment.payment_id 
where payment.type='CH'
 and payment.bill_id=bill.id 
 and (bill.collection_case_id in (1 , 2))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-11 10:48:08

我不太确定这是不是你的意思。

代码语言:javascript
复制
select IF(sum(payment.amount) > bill.amount, sum(payment.amount)-bill.amount, 0) as interest  
from bills bill
cross join payments payment inner join check_payments checkpayment 
on 
payment.id=checkpayment.payment_id 
where payment.type='CH'
 and payment.bill_id=bill.id 
 and (bill.collection_case_id in (1 , 2))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12831335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档