表a(id,key),其中key用来存放关键字,其值形如value1,value2,用逗号(,)隔开每个关键字。举个例子,表a的记录如下:
(110,'超女,wap,粉丝')
(123,'粉丝,周杰伦')
(124,'中国移动')
(125,'王菲,周杰伦')
(127,'短信,中国移动,KTV')
(135,'张靓颖,周杰伦')
(168,'球迷,姚明')
... ... ...现要查找出跟任一个记录有匹配关键字的所有记录id来。
即id为123的这条记录需返回关键字有粉丝或周杰伦的所有记录(110,125,135......)求最有效的实现方法。谢谢!
(110,'超女,wap,粉丝')
(123,'粉丝,周杰伦')
(124,'中国移动')
(125,'王菲,周杰伦')
(127,'短信,中国移动,KTV')
(135,'张靓颖,周杰伦')
(168,'球迷,姚明')
... ... ...现要查找出跟任一个记录有匹配关键字的所有记录id来。
即id为123的这条记录需返回关键字有粉丝或周杰伦的所有记录(110,125,135......)求最有效的实现方法。谢谢!
解决方案 »
- oracle portal 高手请进,帮忙解决一个问题。
- ORACLE中如何把一个用户的默认表空间中的一个表中的数据导入到另一个用户的默认表空间中同名表中
- 怎样使用命令行修改oracle 数据库用户的密码 急急急。。。。
- 【高分】请教大侠一个问题,我随便写了个简单的存储过程,调用时,总是报ora-o6575错误!
- 求一SQL语句
- 一句简单的sql语句!急
- 为什么自己写的函数 在sql语句里不能用??
- 有没有类似于SQL Server中的事件跟踪器(Profiler)的Oracle第三方工具?
- 网格计算技术、数据库集群技术和集中式数据仓库
- 有什么方法限制两个表中的内容
- 关于oracle触发器的问题。
- 哪位牛人给帮我把这个sqlserver的触发器翻译成oracle的?
insert into find(id,key) values((123,'粉丝,周杰伦') ;
insert into find(id,key) values((124,'中国移动');
insert into find(id,key) values((125,'王菲,周杰伦');
insert into find(id,key) values((127,'短信,中国移动,KTV');
insert into find(id,key) values((135,'张靓颖,周杰伦');
insert into find(id,key) values((168,'球迷,姚明');select * from find;
SQL> select * from find ; ID KEY
--------------------------------------- --------------------------------------------
110 超女,wap,粉丝
123 粉丝,周杰伦
124 中国移动
125 王菲,周杰伦
127 短信,中国移动,KTV
135 张靓颖,周杰伦
168 球迷,姚明
select id from find where key like '%周杰伦%' or key like '%粉丝%';
SQL> select id from find where key like '%周杰伦%' or key like '%粉丝%'
2 / ID
---------------------------------------
110
123
125
135
是这个结果么?