以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 代码太长 怎么优化like代码? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186439) |
-- 作者:pyh6918 -- 发布时间:2023/5/3 11:49:00 -- 代码太长 怎么优化like代码? DataTables("专业").LoadFilter = "专业名称 like \'%哲学%\' or 专业名称 like \'%逻辑学%\' or 专业名称 like \'%宗教学%\' or 专业名称 like \'%伦理学%\' or 专业名称 like \'%经济学类%\' or 专业名称 like \'%经济学%\' or 专业名称 like \'%经济统计学%\' or 专业名称 like \'%国民经济管理%\' or 专业名称 like \'%资源与环境经济学%\'" DataTables("专业平均").Load 这段代码是在专业表中查询专业名称中包含的多个关键词,最多的关键词有800个.会出错,提示代码太长,有什么办法优化一下代码吗? 能否用IN:DataTables("专业").LoadFilter = "专业名称 in (\'%哲学%\',\'%逻辑学%\')" in中能否用通配符?谢谢!
|
-- 作者:有点蓝 -- 发布时间:2023/5/3 14:04:00 -- in不支持通配符 select a.* from 专业 as a inner join 字典表 as b on a.专业名称 like \'%\' + b.第一列 + \'%\' 如果使用LoadFilter 可以这样 DataTables("专业").LoadFilter = "exists (select 第一列 from 字典表 as b where 专业.专业名称 like \'%\' + b.第一列 + \'%\')
|
-- 作者:pyh6918 -- 发布时间:2023/5/3 15:21:00 -- 多谢蓝版,我试试! |
-- 作者:pyh6918 -- 发布时间:2023/5/4 14:49:00 -- 字典不支持临时表? |
-- 作者:有点蓝 -- 发布时间:2023/5/4 14:52:00 -- 不支持 |