我现在在做统计每个月的消费额:要用到的字段

fxs 2003-12-01 10:54:07
我现在在做统计每个月的消费额:要用到的字段 :

部门、卡号、姓名、上月余额、本月充值额、本月取款额、本月余额、本月退卡退还金额、退卡状态。

我现在表在有的数据是:

表1:卡的消费表:有字段:卡号、消费时间、每次消费额、每次消费后的余额

表2:每月卡的余额表:有字段:年月、卡号、姓名、本月余额

表3:所有的卡号表(退卡的、和失卡):姓名、卡号、部门、

表4:在用的卡号表:姓名、卡号、部门

表5:退卡的卡号表:姓名、卡号、部门 、退卡时间 、退给金额

表6: 卡的充值和取款表:卡号,交易日期、交易额、交易类型(有取款 和充值)


请问我要如何来统计我的月末数据:

我的思路是:

将“所有的卡号表”的卡号全部拿来:分两种去再去查询


1 是退卡
卡的消费表去计算:查询本月的消费额。
卡每月的余额表:查旬当月和上月的余额
卡的充值表: 本月充值总额,本月的取款额
退卡表:查询退卡的金额。

2 在用卡

卡的消费表去计算:查询本月的消费额。
卡每月的余额表:查旬当月和上月的余额
卡的充值表: 本月充值总额,本月的取款额

可是这样做出来的计算机去统计的时候速度 好慢哟。

听说用一个复杂的SQL语句会比较快。能不能提供相关的资料。


...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
TimLee✿ 2003-12-01
  • 打赏
  • 举报
回复


嘿嘿~~老板发了钱是给我们还是给你,~~问题可以解决但是………嘿嘿
vcar 2003-12-01
  • 打赏
  • 举报
回复
where多表查询或者用join
fxs 2003-12-01
  • 打赏
  • 举报
回复
联机查询。
fxs 2003-12-01
  • 打赏
  • 举报
回复
对了,我要说的事,我现在是在学的做,没有工资的
fxs 2003-12-01
  • 打赏
  • 举报
回复
我可以以了。发给你看一下。

Sstr = " SELECT"
Sstr = Sstr & " cdepartmen AS [部门],"

Sstr = Sstr & " cname AS [姓名],"

Sstr = Sstr & " ccalnum AS [卡号],"

Sstr = Sstr & " [上月余额] =(SELECT mmoney FROM calhavemoneyh WHERE calhavemoneyh.ccalnum=calcontents.ccalnum and datediff (month , dymonth ,'" & DTym.Value & " ') = 1) ,"

Sstr = Sstr & " [本月充值额]=(SELECT SUM(minsert) FROM sendmoneytocal WHERE ccalcum =calcontents.ccalnum and datediff (month , dsenddate ,'" & DTym.Value & " ') = 0 and (csort ='充值') ),"

Sstr = Sstr & " [本月取款额]=(SELECT SUM(minsert) FROM sendmoneytocal WHERE ccalcum =calcontents.ccalnum and datediff (month , dsenddate ,'" & DTym.Value & " ') = 0 and (csort ='取款') ),"

Sstr = Sstr & " [本月管理费]=(SELECT SUM(mmanagemoney) FROM sendmoneytocal WHERE ccalcum =calcontents.ccalnum and datediff (month , dsenddate ,'" & DTym.Value & " ') = 0 ),"

Sstr = Sstr & " [本月消费额]=(SELECT SUM(mspend) FROM calspend WHERE ccalnum =calcontents.ccalnum and datediff (month , dspenddate ,'" & DTym.Value & " ') = 0),"

Sstr = Sstr & " [本月余额] =(SELECT mmoney FROM calhavemoneyh WHERE calhavemoneyh.ccalnum=calcontents.ccalnum and datediff (month , dymonth ,'" & DTym.Value & " ') = 0) ,"

Sstr = Sstr & " [退还金额余额]=0,"

Sstr = Sstr & " [退卡状态]= 1"

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧