Foxtable(狐表)用户栏目专家坐堂 → 再求 高效率查询代码


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

主题:再求 高效率查询代码

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/5/26 20:05:00 [只看该作者]

就是看不懂你的文本啊, 9楼的表A第三列应该等于什么吧。。。。。


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


加好友 发短信
等级:一尾狐 帖子:408 积分:2921 威望:0 精华:4 注册:2010/8/26 20:57:00
  发帖心情 Post By:2011/5/26 20:10:00 [只看该作者]

等于  查询到的 b表的第三列 值

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/5/26 20:44:00 [只看该作者]

b表哪有第三列???

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/5/26 20:49:00 [只看该作者]

应该是表B的第四列吧:

 

For i As Integer = 0 To CurrentTable.count-1
    Dim r As Row = CurrentTable.Rows(i)   
    If r.isnull("第三列")
        Dim drs As List(Of DataRow)
        drs = DataTables("表A").Select("[物料代码] = '" & r("物料代码") & "'")
        For Each dr As DataRow In drs
            Dim drb As DataRow
            drb = DataTables("表B").Find("[物料代码] = '" & r("物料代码") & "'")
            If drb IsNot Nothing Then
                dr("第三列") = drb("第四列")
            End If
        Next
    End If
Next


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


加好友 发短信
等级:一尾狐 帖子:408 积分:2921 威望:0 精华:4 注册:2010/8/26 20:57:00
  发帖心情 Post By:2011/5/26 21:33:00 [只看该作者]

这个方法不够效率。。。

 


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/5/26 23:14:00 [只看该作者]

以下是引用xmj09663在2011-5-26 21:33:00的发言:

这个方法不够效率。。。

 

效率的标准是什么,几秒?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/26 23:16:00 [只看该作者]

呵呵,我已经被绕晕了,无法下手。

其实你可以根据你的需求,写出你自己的代码,这样大家看起来才明白一点,然后看看你的代码有没有优化的可能。

图片点击可在新窗口打开查看


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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/5/26 23:21:00 [只看该作者]

看看能不能参考这个:


EXISTS子查询

EXISTS用于判断子查询是否有记录。

例如要列出所有订购过产品的客户资料:

SELECT * FROM {客户} WHERE EXISTS (SELECT * FROM {订单} WHERE {订单}.客户ID = {客户}.客户ID)


有交集,执行循环操作,无则跳到下一个表

[此贴子已经被作者于2011-5-26 23:25:58编辑过]

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


加好友 发短信
等级:一尾狐 帖子:408 积分:2921 威望:0 精华:4 注册:2010/8/26 20:57:00
  发帖心情 Post By:2011/5/26 23:23:00 [只看该作者]

老爹  你不是吧   我可全 指望你了    我还以为你 消失了  5个小时 之后 已经 帮我搞定了呢   

 

现在  这个数据量  在 K3上  耗时是   35 分钟    我觉得 这样 不科学   所以 一定要想出  高效率的   

 

老爹 你再辛苦一下  帮我 想   我自己 也 想想     熬了 3个通宵了   累了  先睡会   嘎嘎   


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/5/26 23:33:00 [只看该作者]

我测试我的后,一万行也就5秒钟(我的电脑是06年的)。

 回到顶部
总数 37 上一页 1 2 3 4 下一页