余额可以单独用一个余额记录表,这样如果要查询每次消费记录的时候,也能查出来每次消费后还有多少余额。余额记录表里面主要是三个字段:用户账号、每次消费后的余额、时间点。
成都创新互联一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以成都做网站、网站建设、外贸营销网站建设、移动互联产品、成都全网营销推广服务为核心业务。十多年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。
CREATE TABLE account
(
id integer NOT NULL DEFAULT nextval('trade_id_seq'::regclass),
no character varying(10) NOT NULL, -- 账号
balance money NOT NULL DEFAULT 0.00, -- 余额
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)+acc.balance from account as ac where ac.id acc.id) as profit from account as acc;
id | no | balance | datetime | profit
----+------+----------+---------------------+---------
1 | 1000 | $0.00 | 2013-10-09 10:51:10 |
2 | 1000 | $12.60 | 2013-10-09 10:51:22 | $12.60
4 | 1000 | $16.80 | 2013-10-09 10:51:42 | $29.40
5 | 1000 | $100.00 | 2013-10-09 10:51:49 | $129.40
6 | 1000 | $200.00 | 2013-10-09 10:56:35 | $329.40
7 | 1000 | $50.45 | 2013-10-09 10:57:23 | $379.85
8 | 1000 | $75.50 | 2013-10-09 10:57:31 | $455.35
9 | 1000 | -$55.30 | 2013-10-09 10:59:28 | $400.05
10 | 1000 | -$200.00 | 2013-10-09 10:59:44 | $200.05
(9 rows)
首先 你想用mysql记录日志是可以的,效率还不错,更不会影响其他的表,因为你的日志算是数据了!一般日志的数据量都不会太大,但是数据库的维护还是要做好的!
触发器可以完成
同时也要考虑删除消费明细表数据时也需要把账单表计费项目中减少相应费用
如果是程序中调用
可以写成存储过程
但是是以单据号来对应还是personid对应还是存货id对应
当做参数传递
然后写上更新语句即可
假设以单据号(voucherno)对应,没有经过验证,只是参考
CREATE PROCEDURE PROCEDURENAME
@voucherno CHAR(50)
AS
update 账单表 set 消费额= 消费额+(select 消费明细表金额 from 消费明细表
where 消费单号=@voucherno) where
消费单号=@voucherno
GO
具体可以根据需求自行更改,只写了添加没有写删除的,可以把删除或添加的金额也作为参数传递,然后更新时加或减即可
from user表 a
left join 消费表 b on a.username=b.username
// left join是左关联,关键字会从左表那里返回所有的行,即使在右表中没有匹配的行
1、确认记账是否准确
首先我们要把我们做好的记账凭证拿出来,在我们确定记账凭证没有错误之后就可以登记明细账了;
2、逐笔登记明细账
然后按照所做的分录一个科目一个科目的往明细账本中录入,要逐笔登记企业的全部经济业务,要仔细和认真点哦,数据很多容易出错的;
3、戳本月结转章
每个月结束之后都有在下面的空行盖上”本月合计“的章,表示这个月已经结束了,然后借贷方都统计出合计数填写在下方;
4、每月结出余额
每个月结束之后都有统计每个科目借贷方的数据,然后结出余额,填写在本月结转行中,最后余额的借贷方也要写好;
5、登记完毕划红线
我们登记完了之后就要进行划红线了,划红线的规定是月结划单红线,年结或者季度一结的划双红线;
6、这样我们的明细账就算登记完成了。
//统计当天支出总额
$sql_out="select sum(cash) as cashout from my_money where time $dayend and time $daybegin and type=1 group by FROM_UNIXTIME(time,'%y-%m-%d')";
//统计当天收入总额
$sql_in="select sum(cash) as cashin from my_money where time $dayend and time $daybegin and type=2 group by FROM_UNIXTIME(time,'%y-%m-%d')";
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款