SQL语句中,如何同时模糊查询多个字符串

在VB+Acess中,我有一个比较大的表,字段为(姓名,性别,手机号,QQ),有几千行,想同时查找出100个姓的记录来。查询语句:select*fromNamewhere... 在VB+Acess中,我有一个比较大的表,字段为(姓名,性别,手机号,QQ),有几千行,想同时查找出100个姓的记录来。查询语句:select * from Name where 姓名like '张%' union select * from Name where 姓名like '李%'。。。。。。但运行后显示说“查询太复杂”。如果把union减少到40个,那么可以正常运行,到那增加到50个时就无法运行了。如何解决?有木有高手帮个忙 展开
 我来答
micro0369
2014-08-14 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:3885万
展开全部

把这些姓插入到一个新表中


比如 表:A

name

。。。


select 姓名.* from 姓名,A where 姓名.name like A.name + '%'
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bengdeng
2014-08-14 · TA获得超过2119个赞
知道大有可为答主
回答量:1482
采纳率:50%
帮助的人:1279万
展开全部
Select * from Name where 姓名 like '[张李赵钱孙]%'
追问
这个我也想过,可是有很多姓不是一个字,比如欧阳、甚至像蒙古等的更长,字符串如何用[]来表达呢
追答
那最少也可以写成:
Select * from Name where 姓名 like '[张李赵钱孙]%' or or left(姓名,2) In ('欧阳','蒙古') or left(姓名,3) in ('阿伏干','拔列兰')
而没必要用union
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cinling123
2014-08-14
知道答主
回答量:11
采纳率:0%
帮助的人:7.1万
展开全部
你看下面的方法,是否能帮到你:
select * from Name where substr(姓名,1,1) in ('李','张','刘');
追问
这个我也想过,可是有很多姓不是一个字,比如欧阳、甚至像蒙古等的更长,字符串如何用[]来表达呢
追答
姓1个字的,姓2个字的,姓3个字。。。,应该不会超过5个吧,然后union
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式