sql语言如何查询一条记录中含有两个关键字?

sql语言如何查询一条记录中含有两个关键字?例如列表中有Station1...Station10个字段名,如何设置查询,检索出其中含有“上海”“北京”两个关键字的记录?感... sql语言如何查询一条记录中含有两个关键字?例如列表中有Station1...Station10个字段名,如何设置查询,检索出其中含有“上海”“北京”两个关键字的记录?
感谢各位,我表述详细点吧,这就是查找两个地点是否是在一条线路上的语句,当这条线路经过的站点包含着两个地点时,就把它检索出来,请问改用什么语句比较好。
展开
 我来答
百度网友87b2a52
推荐于2017-09-10 · 知道合伙人软件行家
百度网友87b2a52
知道合伙人软件行家
采纳数:523 获赞数:3490
毕业于南京大学,硕士学位。10年软件研发经验。现任信息系统架构师。

向TA提问 私信TA
展开全部
select ID from (select ID, station1||station2||....||station10 as col1 from tabname) where col1 like '%上海%' or col1 like '%北京%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Iam_Singer
2014-08-29 · 超过66用户采纳过TA的回答
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:41.9万
展开全部
select ID from (select ID, station1||station2||....||station10 as col1 from tabname) where col1 like '%上海%' or col1 like '%北京%'
更多追问追答
追问
这样当Station更多时会不会影响执行效率啊?
追答
嗯,肯定的~ 没索引,又是||,又是%……
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
printf59277
2014-08-29 · TA获得超过1080个赞
知道大有可为答主
回答量:1812
采纳率:33%
帮助的人:1288万
展开全部
把这几个字段拼接一下 然后再用 (拼接字段 like’%关键字1%‘ and 拼接字段 like’%关键字2%‘ )查询
追问
谢谢回答,但是字段名较少时这个方法可以,当字段名较多时用起来会比较繁琐,有没有更简洁的办法?
追答
好像只能用拼接来做,如果你数据多的话,可以写个函数来帮你自动拼接
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨a心竹
2014-08-29 · TA获得超过206个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:147万
展开全部
你有主键吧,给你个思路

select a.* from
[Temp].[dbo].[test] as a
inner join (
SELECT id, ([stat1] +[stat2] +[stat3] +[stat4]) as com FROM [Temp].[dbo].[test]
) as b on a.id = b.id
where b.com like '%a%' and b.com like '%b%'
追问
你好,我表述详细点吧,这就是查找两个地点是否是在一条线路上的语句,当这条线路经过的站点包含着两个地点时,就把它检索出来,请问改用什么语句比较好。
追答
你看看这个函数  CONCAT

另外,你这个表定型了么
如果没有的话,可以重新设计下
做个站点的表,站点ID 加 站名
线路表,线路ID 加 站点ID
这样就舒服了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式