select SUM(CASE WHEN ap_detailiflag = 5 THEN 0 ELSE Ap_DetailiDAmount END) - SUM(CASE WHEN ap_detailiflag = 5 THEN 0 ELSE Ap_DetailiCAmount END) from ap_detail where cDwCode='C01043' and (iFlag = 0 OR iFlag = 5) AND cFlag = 'AR'这就是找一客户的期初
余额可以单独用一个余额记录表,这样如果要查询每次消费记录的时候,也能查出来每次消费后还有多少余额。余额记录表里面主要是三个字段:用户账号、每次消费后的余额、时间点。
CREATE TABLE account
(
id integer NOT NULL DEFAULT nextval('trade_id_seq'::regclass),
no character varying(10) NOT NULL, -- 账号
balance money NOT NULL DEFAULT 000, -- 余额
datetime timestamp without time zone NOT NULL DEFAULT (now())::timestamp(0) without time zone,
CONSTRAINT account_pkey PRIMARY KEY (id)
)
通过每次的余额变化就知道每次消费后的余额情况
select acc, (select sum(balance)+accbalance from account as ac where acid < accid) as profit from account as acc;
id | no | balance | datetime | profit
----+------+----------+---------------------+---------
1 | 1000 | $000 | 2013-10-09 10:51:10 |
2 | 1000 | $1260 | 2013-10-09 10:51:22 | $1260
4 | 1000 | $1680 | 2013-10-09 10:51:42 | $2940
5 | 1000 | $10000 | 2013-10-09 10:51:49 | $12940
6 | 1000 | $20000 | 2013-10-09 10:56:35 | $32940
7 | 1000 | $5045 | 2013-10-09 10:57:23 | $37985
8 | 1000 | $7550 | 2013-10-09 10:57:31 | $45535
9 | 1000 | -$5530 | 2013-10-09 10:59:28 | $40005
10 | 1000 | -$20000 | 2013-10-09 10:59:44 | $20005
(9 rows)
推荐:数据库查询优化的实用技巧
数据库查询优化的实用技巧: 本文中,abigale代表查询字符串,ada代表数据表名,alice代表字段名。 技巧一: 问题类型:ACCESS数据库字段中含有日文片假名或其它不明字符时查询会提示内存溢出。 解决方法:修改查询语句 以下为引用的内容: sql=select fro
财务人员用手工记账时,在借和贷后面会有一个余额,这个余额是累计余额,即每一笔账后都在记余额。如果用电脑记账,可以通过查询来完成累计余额的计算。
一、先建立表
(假设保存名为《财务收支记账》),表除必须有日期、借、贷、摘要等字段外,还要加一个自动编号字段ID。设计好后录入数据。
二、建立查询。
查询中加入必要字段,然后在一空白字段写入表达式--余额: nz(DSum(借,财务收支记账,[日期]<# & [日期] & #)) DSum(借,财务收支记账,[日期]=# & [日期] & # And [ID]<= & [ID])-nz(DSum(贷,财务收支记账,[日期]<# & [日期] & #))-DSum(贷,财务收支记账,[日期]=# & [日期] & # And [ID]<= & [ID])。
三、运行这个查询,
就可以看到你需要的余额字段及其累计余额值了。
说明:这个查询只适合于原始表数据。如果想在查询中进行筛选,而后得出的余额可能会是有问题的。
数据库中没有直接存储余额的表,需要用到CN_ACCTINFO 出纳账户表取其中的期初数,还有CN_ACCTBOOK出纳日记账表取其中查询日期之前的所有借贷方金额。
declare @id varchar(20) --定义id为日记账账户编码
declare @date date --定义date为日期
set @id='008'
set @date='2019-06-06'
select SUM(Debit)-SUM(credit)+(select prebalance from cn_acctinfo where csAcctNum=@id) from CN_AcctBook where acctdate<=@date and AcctID=(select id from cn_acctinfo where csAcctNum=@id)
以上就是关于请问用友NC的期初余额在数据库的哪个表上全部的内容,包括:请问用友NC的期初余额在数据库的哪个表上、mysql 帐号余额和消费记录表设计、怎样计算Access完成累计余额_Access数据库教程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)