数据库设计:
1。费用表
费用编码,起驶时间,终止时间,费用
2。客户端表
客户端编码,客户端说明
3。收费明细
日期时间,分钟数,费用编码,客户端编码要统计每个客户端的时间 费用
select A.客户端编码, sum(A.分钟数) 时间, sum(B.费用*A.分钟数) 费用 from
收费明细 as A left join
费用表 as B on convert(char, A.日期时间, 108) between B.起驶时间 and B.终止时间
group by A.客户端编码总共的时间费用
select sum(A.分钟数) 时间, sum(B.费用*A.分钟数) 费用 from
收费明细 as A left join
费用表 as B on convert(char, A.日期时间, 108) between B.起驶时间 and B.终止时间
1。费用表
费用编码,起驶时间,终止时间,费用
2。客户端表
客户端编码,客户端说明
3。收费明细
日期时间,分钟数,费用编码,客户端编码要统计每个客户端的时间 费用
select A.客户端编码, sum(A.分钟数) 时间, sum(B.费用*A.分钟数) 费用 from
收费明细 as A left join
费用表 as B on convert(char, A.日期时间, 108) between B.起驶时间 and B.终止时间
group by A.客户端编码总共的时间费用
select sum(A.分钟数) 时间, sum(B.费用*A.分钟数) 费用 from
收费明细 as A left join
费用表 as B on convert(char, A.日期时间, 108) between B.起驶时间 and B.终止时间
解决方案 »
- SQL两表查询
- 募集关于索引优化的文字资料
- 执行dbcc checkdb('databasename')报错:在 sysobjects、sysindexes、syscolumns 或 systypes 中存在一致性错误,妨碍了进一步的 CHECKDB
- 请教一个sql 简单问题
- 这个条件该怎么写?各位大哥拉兄弟一把(????????????)初级菜鸟的初级问题
- 存储过程是怎么处理int 型参数的。
- 企业管理器列出表时,怎样只让他列出用户表?
- 异常表有哪些字段?
- 为什么我的SQL SERVER不能启动呢?
- 存储过程问题,高分求救,块点啊
- 高分求教,如何精确判断我的硬件是否满足系统需要?分不够我另外分贴给
- 查询某一时间段以内的记录的sql语句该如何写?
用户登记表:( 用户ID,客户名称 )——[用户ID] 主键
服务记录表:( 服务ID,开始时间,结束时间,服务费金额,用户ID )——[客户ID] 外键
资费标准表:( 标准ID,开始时间,结束时间,费用标准 )——[标准ID] 主键
2.算法设计
-新用户注册,系统开始服务——写[客户登记表]。
-以服务器时钟驱动每单位时间为每一个用户写一条服务记录,并根据[资费标准表]计算该单位时间 段费用金额。
-用户注销结帐可从[服务记录表]轻松累计得到时间费用,而后清楚[客户登记表]、[服务记录表]中相关记录。注:整个记费系统以服务器时钟为主时钟,单位记费时间片大小可设置,它要在服务器系统负载和记费精确度(包括开始和掉电)两方面寻求平衡。
这应该是你要的!哈哈,或许还有更好的方案。
Nothing?! fresh???!
please explain.
当服务结束时间写入数据库一次,
根据你的费用标准计费
一个用户只需要操作数据库二次,不存在计费时间段不同就不停的执行一个程序.
例:开始时间5:00:00
字段设为datetime
2003-4-1 5:00:00
结束时间13:00:00
2003-4-1 13:00:00
费用5:00:00 到6:00:00 一个小时计费标准是0.6元/分
6:00:00 到13:00:00 七个小时计费标准是1.2元/分
合计费用:1*0.6+7*1.2=
是否是理解错误了...
数据库用一个存储过程(可以执行二次,一次开始,一次结束,也可以在客户有一程序一分钟刷新一下,即一分钟执行一次这个存储过程 )
进入个存储过程中时先判断系统时间
不同的时间段不同的计费
insert into 用户登记表(用户ID,客户名称) values(...)
insert into 服务记录表( 服务ID,开始时间,结束时间,服务费金额,用户ID )以后每分钟更新一下服务记录表
update 服务记录表 set 结束时间=getdate(),服务费金额=服务费金额+(不同的时间段不同的计费标准) where ...
在此再解释一下:
如下:
3台甲,2台乙,4台病,5台定。(控制开关)
时间段:
1 管段:23:00:00-7:00:00
2 冯端:7:00:00-12:00:00
19:00:00-22:22:00:00
3 ping: 12:00:00-19:00:00
22:00:00-23:00:00
统计每天,周,月的报表