Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:小狐 帖子:341 积分:3406 威望:0 精华:0 注册:2013/5/17 10:55:00
[求助]  发帖心情 Post By:2016/9/13 16:09:00 [显示全部帖子]

如何将表一
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160913161050.png
图片点击可在新窗口打开查看
转换成表二
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160913161114.png
图片点击可在新窗口打开查看
谢谢

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


加好友 发短信
等级:小狐 帖子:341 积分:3406 威望:0 精华:0 注册:2013/5/17 10:55:00
  发帖心情 Post By:2016/9/13 16:19:00 [显示全部帖子]

数据比较多,这种处理方式效率低,我想问有没有效率更好的处理办法。

另外想问一下用QueryBuilder生成的临时表,
Dim b As new QueryBuilder
b.TableName = "档案编号统计2"
b.C
b.S electString = "s elect 档案编号,count(*) as 数量 from (s elect substring(档案编号,1,6) as 档案编号 from{在职人员} union all s elect substring(档案编号,1,6) as 档案编号 from{退休人员} union all se lect substring(档案编号,1,6) as 档案编号 from{死亡人员}) as a group by 档案编号"
b.build

我想加一列“备注列”,能不能在生成临时表的时候同时加一列“备注列”


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


加好友 发短信
等级:小狐 帖子:341 积分:3406 威望:0 精华:0 注册:2013/5/17 10:55:00
  发帖心情 Post By:2016/9/13 16:36:00 [显示全部帖子]

又一个问题产生了,备注列长度为1,怎么修改长度?

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


加好友 发短信
等级:小狐 帖子:341 积分:3406 威望:0 精华:0 注册:2013/5/17 10:55:00
  发帖心情 Post By:2016/9/13 17:02:00 [显示全部帖子]

首先接受狐爸的批评,以后改正。

Dim b As new QueryBuilder
b.TableName = "档案编号统计2"
b.C
b.S electString = "s elect 档案编号,count(*) as 数量,'' as 顺序号登记 from (s elect substring(档案编号,1,6) as 档案编号 from{在职人员} union all s elect substring(档案编号,1,6) as 档案编号 from{退休人员} union all s elect substring(档案编号,1,6) as 档案编号 from{死亡人员}) as a group by 档案编号"
b.build

我想把“顺序号登记” 设为备注列
结果如图
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160913170451.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:小狐 帖子:341 积分:3406 威望:0 精华:0 注册:2013/5/17 10:55:00
  发帖心情 Post By:2016/9/13 17:03:00 [显示全部帖子]

应该怎么设置顺序号登记列的长度?
谢谢

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


加好友 发短信
等级:小狐 帖子:341 积分:3406 威望:0 精华:0 注册:2013/5/17 10:55:00
  发帖心情 Post By:2016/9/13 17:21:00 [显示全部帖子]

搞定,谢谢有点蓝老师

Dim st As Date = Date.now

Dim g As new QueryBuilder
g.TableName = "档案编号统计1"
g.C
g.S electString = "s elect 姓名编号,顺序号 from (s elect substring(档案编号,1,6) as 姓名编号,substring(档案编号,8,2) as 顺序号 from{在职人员} union all s elect substring(档案编号,1,6) as 姓名编号,substring(档案编号,8,2) as 顺序号 from{退休人员} union all s elect substring(档案编号,1,6) as 姓名编号,substring(档案编号,8,2) as 顺序号 from{死亡人员}) as a group by 姓名编号,顺序号"
g.build
output.show(Format((Date.now - st).Totalseconds,"0.0000"))
st = Date.now
Dim b As new QueryBuilder
b.TableName = "档案编号统计2"
b.C
b.S electString = "s elect 档案编号,count(*) as 数量,CAST('' as nvarchar(500)) as 顺序号登记 from (s elect substring(档案编号,1,6) as 档案编号 from{在职人员} union all s elect substring(档案编号,1,6) as 档案编号 from{退休人员} union all s elect substring(档案编号,1,6) as 档案编号 from{死亡人员}) as a group by 档案编号"
b.build
output.show(Format((Date.now - st).Totalseconds,"0.0000"))
st = Date.now
For Each r As DataRow In DataTables("档案编号统计2").DataRows
r("顺序号登记") = DataTables("档案编号统计1").GetComboListString("顺序号","姓名编号 = '" & r("档案编号") & "'")
Next

output.show(Format((Date.now - st).Totalseconds,"0.0000"))

总共4566条数据,用时9.62秒,代码还能优化或有更好的办法吗?

 回到顶部