Foxtable(狐表)用户栏目专家坐堂 → 操作时间为充值的当天,并且是最大值


  共有2618人关注过本帖树形打印复制链接

主题:操作时间为充值的当天,并且是最大值

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
操作时间为充值的当天,并且是最大值  发帖心情 Post By:2016/3/1 15:12:00 [只看该作者]

遇到一个问题搞半天没弄成。。。求助。。。

如图:


图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看

这是后台的一个sql视图,想统计各个店员经办的会员充值当天的余额,充值金额-消费金额,有可能当天没有消费,那就是当天的充值金额

 

我是这样想的:先找出这些行,然后统计:

Dim dt As DataTable
cm d.Comman dText = "SELEC T 操作时间,经办店员,余额 * '" & tcbl & "' As 储值提成 From {储值卡操作记录} where " & filter & " and 操作时间 = "          '//tcbl  是设定的一个  提成比率 打黄色的是想说 操作时间 的充值时间 的当天,并且是最大值(这样就知道充值当天之后的余额)。。不知道可不可行,也不知道怎么写。。
dt = cmd.ExecuteReader()

Dim b As New GroupTableBuilder("统计表1",dt)
b.Groups.AddDef("操作时间",DateGroupEnum.Year,"年") '添加日期列用于分组,并用"年"代替原名称
b.Groups.AddDef("操作时间","月") '添加日期列用于分组,并用"月"代替原名称
b.Groups.AddDef("经办人") '根据产品分组
b.Totals.AddDef("储值提成","","提成收入_值")


 


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/3/1 15:14:00 [只看该作者]

表里打黄色的就是要找出来的行,然后进行统计。。。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/1 15:18:00 [只看该作者]

计算当天的充值,计算当天的消费,相减就是余额

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/1 15:18:00 [只看该作者]

具体问题上传具体实例。

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/3/1 15:27:00 [只看该作者]

余额已经算出来了,那个表就是计算好了之后的sql视图。现在的具体问题就是想找到这些行。。。

现在是这样:

Dim dt As DataTable
cm d.Comman dText = "SELEC T 操作时间,经办店员,余额  From {储值卡操作记录}  "
这是找到所有的余额的行。

但想实现的找到表中打黄色的行。

也就是每个充值当天的,而不是所有的。

大红袍老师,上传实例有点麻烦,你看我这样描述可以吗?如果不行,我就上传实例。。。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/1 15:31:00 [只看该作者]

必须对表按日期分组,然后取max的值即可。


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/3/1 16:36:00 [只看该作者]

哦,我试了:

Dim dt As DataTable
cmd.CommandText = "SELEC T 操作时间,经办门店,经办人,余额,余额 * '" & tcbl & "' As 储值提成 From {储值卡操作记录} where " & filter & ""
dt = cmd.ExecuteReader()

 

Dim b As New GroupTableBuilder("统计表1",dt)
b.Groups.AddDef("操作时间",DateGroupEnum.Year,"年") '添加日期列用于分组,并用"年"代替原名称
b.Groups.AddDef("操作时间","月") '添加日期列用于分组,并用"月"代替原名称
b.Groups.AddDef("操作时间",DateGroupEnum.day,"日") '添加日期列用于分组,并用"月"代替原名称
b.Groups.AddDef("经办店员") '根据产品分组
b.Totals.AddDef("操作时间",AggregateEnum.Max,"充值当天最后操作时间") ‘这一句报错

报错:

从类型“Date”到类型“Decimal”的转换无效。

要怎么改呢。。。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/1 16:39:00 [只看该作者]

用sqlGroupTableBuilder才可以对日期列进行大小比较。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/1 16:43:00 [只看该作者]

不会做,上传具体例子说明你要做什么。

 

也不一定要用 GroupTableBuilder,你直接写sql语句统计起来更方便快捷。


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/3/1 16:50:00 [只看该作者]

哦,大红袍老师,这不知道又是什么原因。。。


图片点击可在新窗口打开查看此主题相关图片如下:6.png
图片点击可在新窗口打开查看

 回到顶部
总数 18 1 2 下一页