我想选择与一个或多个标准匹配的行。查询与某个或多个字段标准相匹配的行
示例表和数据
#ID #NAME #KEYWORDS(Varchar)
1 BBC news,finance
2 CNN music,finance,sports
3 CNBC music,sports,finance
用户搜索准则将sports,finance
(可以是由逗号分隔的一个以上的关键字)我制备成的关键字的字符串的列表我查询之前。
当我使用下面的sql(1)时,它只会选择CNN和CNBC。
SELECT * from channel where Keywords LIKE '%sports%' OR '%finance%';
但是,当我使用SQL(2)像下面,显示BBC,CNN,CNBC。
SELECT * from channel where Keywords LIKE '%finance%' OR '%sports%'
我的要求是我要选择的是匹配关键字的所有行(在上面的例子:体育,金融应该得到BBC,CNN和CNBC为所有三个有融资)。
由于用户输入将是一个字符串(体育,金融等),我只是根据不同的输入进行查询。
您的数据库引擎INNODB或MYISAM? –
引擎是INNODB – kitokid