我希望从“借记”表中获得余额给出一个Id。
例如:
User Debit
id | name user_from | user_to | value
1 | John 1 | 2 | 13.23
2 | Marie 1 | 2 | 20
3 | Peter 2 | 1 | 53
1 | 3 | 2.45
我是约翰,所以我想把我的余额检查给其他人。
约翰的余额= +20.23(对于玛丽的) 约翰的平衡= -2.45(对彼得的)
我正在使用sqlite 3 for android!
我创建了一个SQLFIDDLE来查看它是否有帮助!链接:SQLFiddle
非常感谢您的时间和帮助!
答案 0 :(得分:1)
使用相关子查询计算每个用户的小计:
SELECT id,
name,
(SELECT TOTAL(value)
FROM Debit
WHERE user_from = User.id
AND user_to = 1) -
(SELECT TOTAL(value)
FROM Debit
WHERE user_to = User.id
AND user_from = 1) AS amount
FROM User
WHERE amount <> 0;
id name amount
---------- ---------- ----------
2 Marie 19.77
3 Peter -2.45
答案 1 :(得分:0)
我为了欠你欠钱的人而想出这样的事情({1}}
更新:我还没有测试过这个,但是试试这个,然后在你有2列之后做你的减法。
SELECT SUM(value) FROM debit WHERE user_from = (SELECT id FROM User WHERE name=‘John’)