我有个表,里面有个字段叫content,现在有6个关键词(限行,道路,交警,设卡,指挥,拥堵),我想查content中包含其中任意两个关键词的记录。
2条回答 默认 最新
- iDeputy 2012-04-25 17:43关注
抛个破砖先.
[code="sql"]
create table AAA(name varchar2(10), content varchar2(20))
select a.*,a.rowid from AAA a;
insert into AAA (NAME, CONTENT) values ('1', 'ACA');
insert into AAA (NAME, CONTENT) values ('2', 'B');
insert into AAA (NAME, CONTENT) values ('3', 'CA');
insert into AAA (NAME, CONTENT) values ('4', 'CCC');
insert into AAA (NAME, CONTENT) values ('5', 'DDD');
insert into AAA (NAME, CONTENT) values ('6', 'CBA');select name, count(name)
from (select * from AAA where content like '%A%'
union all
select * from AAA where content like '%B%'
union all
select * from AAA where content like '%C%'
union all
select * from AAA where content like '%D%') a
group by NAME
having count(name) >= 2;
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报