以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQL综合统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128883)

--  作者:cd_tdh
--  发布时间:2018/12/17 14:24:00
--  SQL综合统计

SQL综合统计,我需要列出分支机构里面所有分支机构,但这样出来,没有中标的还是没统计出来,怎么先添加所属机构,在统计呢?

 

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "S  elect {分支机构管理}.所属机构,经营状态,中标金额,中标日期,项目名称 From {分支机构管理} Left JOIN {中标统计} ON {中标统计}.[所属机构] = {分支机构管理}.[所属机构]"
dt = cmd.ExecuteReader()
Dim d1 As  Date = Date.today.year & "-" & 1 & "-" & 1
Dim g As New CrossTableBuilder("统计表1",dt,"[中标日期]>\'"& d1 &"\'")
g.Caption = "当年分月统计"
g.HGroups.AddDef("所属机构")  \'纵向添加分组
g.VGroups.AddDef("中标日期",DateGroupEnum.Year,"{0}年")  \'添加日期列用于垂直分组,按年分组
g.VGroups.AddDef("中标日期", "{0}月") \'横向添加分组
g.Totals.AddDef("项目名称", AggregateEnum.Count, "中标个数")
g.Totals.AddDef("中标金额", "中标金额")  \'添加统计列
g.HorizontalTotal = True \'水平方向是否自动汇总
g.VerticalTotal = True  \'垂直方向是否自动汇总
g.Decimals = 2  \'小数位数
g.Filter = "[中标日期]>\'"& d1 &"\'"
g.Subtotal = True   \'生成汇总模式
g.FromServer = True   \'统计后台数据
g.Build()  \'生成统计表
Tables("当年分月统计_Table1").DataSource = g.BuildDataSource  \'动态绑定到表

[此贴子已经被作者于2018/12/17 14:39:01编辑过]

--  作者:有点甜
--  发布时间:2018/12/17 14:50:00
--  

1、什么意思?请具体发实例上来测试,或者截图说明问题。

 

2、不加条件就可以? "[中标日期]>\'"& d1 &"\'"


--  作者:cd_tdh
--  发布时间:2018/12/17 14:53:00
--  

比如:我分支机构管理里面有:某某办事处,但今年没中标,所以统计当年,就没显示出来,但我想把没中标的某某办事处在统计中也显示出来。

[此贴子已经被作者于2018/12/17 14:54:09编辑过]

--  作者:有点甜
--  发布时间:2018/12/17 15:28:00
--  

统计两次(一次统计今年的,一次统计今年之前的),然后组合起来显示

 

http://www.foxtable.com/webhelp/scr/2305.htm

 


--  作者:cd_tdh
--  发布时间:2018/12/17 18:36:00
--  
这样不科学,比如有一个分支机构一直没中标,统计多久的都不会出来啊。
只能先根据分支机构管理的所属机构和中标统计来生成tb,在统计。
[此贴子已经被作者于2018/12/17 18:37:43编辑过]

--  作者:有点蓝
--  发布时间:2018/12/17 20:22:00
--  
具体实例发上来看看。不知道表结构,也不知道数据存储模式是什么样的,无法回答
--  作者:cd_tdh
--  发布时间:2018/12/17 21:14:00
--  
有点蓝老师,一楼有代码,现在统计出来数据没问题,只是没中标的分支机构没有显示出来,我总得有26个分支机构,有19个有中标数据,有中标数据的出来了,没有的就没出来。
--  作者:有点蓝
--  发布时间:2018/12/17 21:35:00
--  
Select {分支机构管理}.所属机构,经营状态,中标金额,中标日期,项目名称 From {分支机构管理} where [所属机构] not in (select [所属机构] from {中标统计})

统计没有中标的机构,然后合并

--  作者:有点甜
--  发布时间:2018/12/18 9:04:00
--  
以下是引用cd_tdh在2018/12/17 18:36:00的发言:
这样不科学,比如有一个分支机构一直没中标,统计多久的都不会出来啊。
只能先根据分支机构管理的所属机构和中标统计来生成tb,在统计。
[此贴子已经被作者于2018/12/17 18:37:43编辑过]

 

无语,没有中标也可以统计出来的啊。不会做请上传具体实例。