我有一个名为transaction_table
的表,因此我编写了以下代码
select
t._id,
t.description,
t.debit,
t.credit,
(t.debit - t.credit) blnc,
t.curr_id,
t.cus_id
from transaction_table t
结果是:
this col
_id description debit credit blnc curr_id cuss_id
-------------------------------------------------------------------------
1 cr for customer 1 0.0 30.0 -30.0 1 1
2 cr for customer 1 0.0 500.0 -500.0 1 1
3 dbt for customer 1 70.0 0.0 70.0 1 1
4 cr for customer 2 0.0 600.0 -600.0 1 2
5 dat for customer 2 100.0 0.0 100.0 1 2
6 dat for customer 2 300.0 0.0 300.0 1 2
但我想要这样东西:
_id description debit credit blnc curr_id cuss_id
-------------------------------------------------------------------------
1 cr for customer 1 0.0 30.0 -30.0 1 1
2 cr for customer 1 0.0 500.0 -530.0 1 1
3 dbt for customer1 70.0 0.0 470.0 1 1
4 cr for customer 2 0.0 600.0 -600.0 1 2
5 dat for customer 2 100.0 0.0 -500.0 1 2
6 dat for customer 2 300.0 0.0 -200.0 1 2
那么,如何用sqlite实现第二个表呢?谢谢。
1条答案
按热度按时间jc3wubiy1#
使用
SUM()
窗口函数:根据您的要求,您可以从
PARTITION BY
子句中删除curr_id
列。对于不支持窗口函数的SQLite 3.25之前的版本,请使用自连接和聚合:
根据您的要求,您可以从
ON
子句中删除条件t2.curr_id = t1.curr_id
。请参阅demo。