表一:client(id,compay,follow_pr,hezuo,type,web_url)
记录:(200,广州潮汛网络,lic,1,软件公司,http://www.yava.com.cn)
记录2:(201,bbddd,gg,0,SP,http://www.yava.com)表二:alias_name(alias_id,client_id,name)
记录1:(200,200,广州雅薇)
记录2:(201,201,广州亚商)现在我想搜索出"广州潮汛"或"广州雅薇"或"广州亚商"的公司名称是否存在?
是通过字段compay或name来匹配的.
我用的sql语句是:
select * from client a,alias_name b where a.id=b.client_id and
a.compay like '%广州雅薇%' or b.name like '%广州雅薇%'
(上面的匹配字段可以是广州亚商或广州潮汛)得出的答案有问题:
如果我搜索的是广州雅薇或广州亚商,得到的数据中出现两条结果:而且name字段的值都是广州雅薇或广州亚商
这是为什么?
记录:(200,广州潮汛网络,lic,1,软件公司,http://www.yava.com.cn)
记录2:(201,bbddd,gg,0,SP,http://www.yava.com)表二:alias_name(alias_id,client_id,name)
记录1:(200,200,广州雅薇)
记录2:(201,201,广州亚商)现在我想搜索出"广州潮汛"或"广州雅薇"或"广州亚商"的公司名称是否存在?
是通过字段compay或name来匹配的.
我用的sql语句是:
select * from client a,alias_name b where a.id=b.client_id and
a.compay like '%广州雅薇%' or b.name like '%广州雅薇%'
(上面的匹配字段可以是广州亚商或广州潮汛)得出的答案有问题:
如果我搜索的是广州雅薇或广州亚商,得到的数据中出现两条结果:而且name字段的值都是广州雅薇或广州亚商
这是为什么?
解决方案 »
- 新人求问 关于Mysql中代码关键字的大小写问题?????
- mysql与tomcat的连接的问题
- 如何制作一个MySQL5.0的存储过程
- 小白问个语法问题,在线等
- 如何用一条sql查询不包含前5条记录的记录?
- mysql5.0中文问题:UTF8的编码里面没有中文吗?
- UPDATE出错
- 急!Solaris9上安装mysql,服务起不来,在线等待!
- 高分求助mysql 存储过程报错以及如何返回受影响的行数
- ------------------如何根据data文件恢复mysql innodb库?-------------------
- 求MySQL帮助文档
- 求MYSQL语句:1、遍历子树;2、得到子树所有叶子节点
select * from client a,alias_name b where a.id=b.client_id and
(a.compay like '%广州雅薇%' or b.name like '%广州雅薇%')
a.compay like '%广州雅薇%' or b.name like '%广州雅薇%'如果不加括号 那么 a.id=b.client_id and a.compay like '%广州雅薇%' 这个先结合 返回false 因为表1中没有广州雅薇或者广州亚商 这样造成a.id=b.client_id 无效。会出现两表的笛卡尔积
200,广州潮汛网 200,广州雅薇
200,广州潮汛网 201,广州亚商
201,bbddd 200,广州雅薇
201,bbddd 201,广州亚商然后 b.name like '%广州雅薇%' 生效 出现双重数据
恩,我试了你说的.很对,是and 与or的优先级不同而导致的结果.