以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 不请教不行了 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71865) |
||||
-- 作者:hbhb -- 发布时间:2015/7/19 18:57:00 -- 不请教不行了 袍大师:好!必须请教了!见实例 请问如何实现如下要求:因处理数据量大看来必须用sql语句了,讨教sql语句怎么写? 要求:如何获得第一列的如下条件的字符集合或表 ? 结果因为2、3 、4、6 1、第四列、第五列不为空 2、第三列是“a"或"b" 3、第二列不是“a"或"b" 4、第一列相同
|
||||
-- 作者:hbhb -- 发布时间:2015/7/19 19:39:00 -- 大师:下面的语句运行为何要15秒?dpzhs.count 也只有1000个 Dim ctr As DataRow For Each dpzh As String In dpzhs ctr = pzbdt.Find("pzzb12 not in ( \'a\',\'b\',\'c\',\'d\')" & "and (pzzb33 <> 0 or pzzb33 is not null)" & "and pzzb5 = \'" & dpzh & "\'") If ctr IsNot Nothing Then xdpzhs.Add(dpzh) End If Next |
||||
-- 作者:游 -- 发布时间:2015/7/19 20:13:00 -- Find本身也是一个遍历
遍历嵌套遍历,不慢才怪。 |
||||
-- 作者:大红袍 -- 发布时间:2015/7/20 10:18:00 -- Dim pdr As DataRow = Nothing
|
||||
-- 作者:hbhb -- 发布时间:2015/7/20 10:56:00 -- 谢谢!主要是数据太多,运行时间较长,想改成sql语句,如何改? 感觉用sql快多了,原来运行15秒,改成sql语句后只要0.15秒,为何?
|
||||
-- 作者:大红袍 -- 发布时间:2015/7/20 10:56:00 -- 不能改啊。 |
||||
-- 作者:hbhb -- 发布时间:2015/7/20 11:04:00 -- 一段10000行数据处理,如果运行300秒,客户肯定会摔坏电脑或跳楼的! |
||||
-- 作者:大红袍 -- 发布时间:2015/7/20 11:06:00 -- 看4楼。 [此贴子已经被作者于2015/7/20 11:06:51编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2015/7/20 11:14:00 --
|
||||
-- 作者:hbhb -- 发布时间:2015/7/20 11:56:00 -- 这个快,谢谢!有一句看不懂 where not 这个“not” 是什么意思? |