【发布时间】:2017-05-16 13:26:25
【问题描述】:
我有一个 MySql 表来控制借方和贷方。它看起来像这样
id | status | type | amount | value | expiration | parent_id | company_id |
---|--------|------ |--------|-------|------------|-----------|------------|
1 | 1 |credit | 46 | 42.00 | 2018-04-01 | 0 | 1 |
2 | 1 |credit | 33 | 194.00| 2017-07-07 | 0 | 1 |
3 | 1 |credit | 49 | 17.00 | 2016-11-11 | 0 | 1 |
4 | 1 |debit | 1 | NULL | NULL | 1 | 1 |
5 | 1 |debit | 1 | NULL | NULL | 1 | 1 |
6 | 1 |debit | 1 | NULL | NULL | 2 | 1 |
7 | 1 |debit | 1 | NULL | NULL | 2 | 1 |
8 | 1 |debit | 1 | NULL | NULL | 2 | 1 |
9 | 1 |debit | 1 | NULL | NULL | 2 | 1 |
10 | 1 |debit | 1 | NULL | NULL | 3 | 1 |
我想检索一个人现在有多少学分。
将所有状态 = 1 的借方与状态 = 1 且到期的每个父贷方相加 > NOW()
然后从它的父信用中减去
在这种情况下,我应该得到类似的东西
总积分 = (46 - 2) + (33 - 4)
到目前为止我得到的是
SELECT SUM(amount) as tot_debit
FROM credits
WHERE company_id = 1
AND status = 1
AND type = 'debit'
AND parent_id IN (SELECT id
FROM credits
WHERE company_id = 1
AND status = 1
AND expiration > NOW()
AND type = 'credit')
GROUP BY parent_id
关于如何让它发挥作用的任何想法?
谢谢
【问题讨论】: