一个表中的SQL聚合函数
所以我有一个表,有4个字段=第一个是日期,第二个是第一次余额,第三个是突变,第四个是结束余额 下面的图像有2个表,第一个表是原始表,我必须进行查询,以便它可以像第二个表一样显示出来 *SALDO AWAL昨天获得了SALDO PENUTUPAN的数据 *SALDO PENUTUPAN正在从SALDO AWAL+MUTASI获取数据 依此类推,直到数据看起来像第二个表一个表中的SQL聚合函数,sql,sql-server,aggregate,Sql,Sql Server,Aggregate,所以我有一个表,有4个字段=第一个是日期,第二个是第一次余额,第三个是突变,第四个是结束余额 下面的图像有2个表,第一个表是原始表,我必须进行查询,以便它可以像第二个表一样显示出来 *SALDO AWAL昨天获得了SALDO PENUTUPAN的数据 *SALDO PENUTUPAN正在从SALDO AWAL+MUTASI获取数据 依此类推,直到数据看起来像第二个表 上面是我的示例代码,但我认为它工作不太好,所以我需要大家的帮助,谢谢你如果tanggal是唯一的,你可以使用它: with ct
上面是我的示例代码,但我认为它工作不太好,所以我需要大家的帮助,谢谢你如果
tanggal
是唯一的,你可以使用它:
with cte(tanggal, saldo_awal, mutasi, saldo_penutupan) as (
select
tanggal,
lag(saldo_penutupan, 1, 0) over (order by tanggal) saldo_awal,
mutasi,
saldo_penutupan
from (
select
tanggal,
mutasi,
sum(mutasi) over (order by tanggal) saldo_penutupan
from TRANSAKSI
) t
)
update t1
set t1.saldo_awal = t2.saldo_awal,
t1.saldo_penutupan = t2.saldo_penutupan
from TRANSAKSI t1 join cte t2
on t1.tanggal = t2.tanggal
表中是否有id列?tanggal是独一无二的吗?另外,您需要更新表还是用第二种方法查询数据?没有ID,只有一个表,有4个字段,使用update语句查询数据tanggal列是否唯一?是的,它是一个日期,必须填写后天。另外,使用update查询数据是什么意思?你想选择还是更新?哇!!!伟大的你怎么能这么聪明????非常感谢你!!!!现在成功了!!thx-XD
with cte(tanggal, saldo_awal, mutasi, saldo_penutupan) as (
select
tanggal,
lag(saldo_penutupan, 1, 0) over (order by tanggal) saldo_awal,
mutasi,
saldo_penutupan
from (
select
tanggal,
mutasi,
sum(mutasi) over (order by tanggal) saldo_penutupan
from TRANSAKSI
) t
)
update t1
set t1.saldo_awal = t2.saldo_awal,
t1.saldo_penutupan = t2.saldo_penutupan
from TRANSAKSI t1 join cte t2
on t1.tanggal = t2.tanggal