高分悬赏解决思路
时间:2021-07-01 10:21:17
帮助过:3人阅读
高分悬赏
财务报表:
序号 用户名 姓名 续费(元) 赠送(元) 保证金(元) 注册费(元) IP地址费(元) 使用费(元)
0 wsz xiaobai 60 10 0 0 50 20
1 bbb zhangs 50 0 0 0 30 100
表A以下字段:
user(登录名)
name(姓名)
-----------------------------
表B有以下3个字段:
type:(分5个类型:续费、赠送、保证金、注册费、IP地址费 ,根据不同的情况type的值就不同)
savingnum(续费)
user(登录名)
time
----------------------------
表C有以下字段:
user(登录名)
charge1(使用费)
time
----------------------------
表D有以下字段:
user(登录名)
charge2(使用费)
time
关联:这四个表的user是相等的,而且在各表中是唯一存在的。
注意:是报表,查出的值,都是某范围内的某字段的‘和’
每条记录中的使用费,如果在D表中值非空,那么就在C表中为0;如果在C表中值非0,那就不存在D表中。
问题:
1 查询:在某条件时间($star_time<=time<=$end_time)内,找出某一范围的续费($star_savingnum<=savingnum<=$end_savingnum)
2 查询:在某条件时间($star_time<=time<=$end_time)内,找出某一范围的使用费($star_savingnum<=savingnum<=$end_savingnum)
------解决方案--------------------
哪要看你的需求如何?
1 表B type:(分5个类型:续费、赠送、保证金、注册费、IP地址费),类型的结构设置,对统计本身就有影响.
要么取所有用户的某种续费类型做统计,要么取单个用户的所有类型做统计,这个可以通过group by 来实现.
2 C和D表结构基本上是相同的,不知道你所谓的(如果在D表中值非空,那么就在C表中为0;如果在C表中值非0,那就不存在D表中)是何解.
如果某个用户在C表中有值又在D表中有值,哪就人为增加了难度.
------解决方案--------------------
------解决方案--------------------