Foxtable(狐表)用户栏目专家坐堂 → 如何让分组统计显示记录数为零的记录?


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

主题:如何让分组统计显示记录数为零的记录?

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


加好友 发短信
等级:婴狐 帖子:9 积分:264 威望:0 精华:0 注册:2017/9/1 14:27:00
如何让分组统计显示记录数为零的记录?  发帖心情 Post By:2018/11/5 15:04:00 [只看该作者]

请教一下:我用SQLGroupTableBuilder分组统计,
表1:用户信息
用户
A
B
C
*********************************
表2:项目信息
项目ID 负责人
P01            A
P02            A
P03            A
P04            B
P05            A
P06            B
*********************************************
代码:
Dim b As New SQLGroupTableBuilder("项目承担表","表1")
b.C
b.AddTable("表1","用户","表2","负责人" ) 
b.Groups.AddDef("用户")  
b.Totals.AddDef("负责人",AggregateEnum.Count,“承担项目数”)
b.Build 
**********************************************************
运行结果:

用户  承担项目数
A          4
B          2
**********************************************

但是我想要的结果是:
用户  承担项目数
A          4
B          2
C          0
**********************************************************
用户C,在表2中没有记录,但是我想要列出为“0”,实际中没有列出来,请问如何处理。


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


加好友 发短信
等级:狐神 帖子:4760 积分:34608 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/11/5 15:28:00 [只看该作者]

上实例
或者在统计表中将没有的新增
[此贴子已经被作者于2018/11/5 15:28:56编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/5 16:19:00 [只看该作者]

参考代码

 

Dim jb1 As New SQLJoinTableBuilder("查询表1","表A")
jb1.AddTable("表A","第一列","表B","第一列",JoinModeEnum.right)
jb1.AddExp("父表第一列","{表B}.第一列")
jb1.AddExp("子表第一列","{表A}.第一列")
jb1.AddExp("个数", "iif({表A}.第一列 is null, 0, 1)")
jb1.build
Dim g As New GroupTableBuilder("统计表1", DataTables("查询表1"))
g.Groups.AddDef("父表第一列", "第一列")
g.Totals.AddDef("个数")
g.Build()
MainTable = Tables("统计表1")


 回到顶部