-- Postgresql 之数据逐级汇总计算方法-- 作者:老农民-- QQ: 46715422-- Email: flyingercn@wo.cn-- 微信: ericliu_77--我们在财务系统和ERP系统中会涉及到按照科目代码逐级累计的计算,--针对Postgresql 写了这么个sql
create temp table tb(code VARCHAR(13),numb INT);insert into tb values ('0.01',null),('0.01.01',('0.01.01.01',100.00),('0.01.02',('0.01.02.01',('0.01.02.02',('0.01.02.02.01',('0.01.02.02.02',('0.01.03',100.00); select * from tb; code | numb---------------+------ 0.01 | 0.01.01 | 0.01.01.01 | 100 0.01.02 | 0.01.02.01 | 100 0.01.02.02 | 0.01.02.02.01 | 100 0.01.02.02.02 | 100 0.01.03 | 100(9 行记录)--下面两种函数写法,结果一致select *,(select sum(numb) from tb where position(t.code in tb.code)=1) as sum_numb from tb t;select *,(select sum(numb) from tb where strpos(tb.code,t.code)=1) as sum_numb from tb t; code | numb | sum_numb---------------+------+---------- 0.01 | | 500 0.01.01 | | 100 0.01.01.01 | 100 | 100 0.01.02 | | 300 0.01.02.01 | 100 | 100 0.01.02.02 | | 200 0.01.02.02.01 | 100 | 100 0.01.02.02.02 | 100 | 100 0.01.03 | 100 | 100(9 行记录)
要买正宗新疆特产,微信扫下面二维码,加老农民咨询购买:
总结以上是内存溢出为你收集整理的PostgreSQL 之数据逐级汇总计算方法全部内容,希望文章能够帮你解决PostgreSQL 之数据逐级汇总计算方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)