| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 825 人关注过本帖
标题:like用法的问题
只看楼主 加入收藏
fxdf
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-9-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
like用法的问题
请教一下,这个语句执行数据不准确,问题出在
where fboug1 like '%片迪%',含有这两个字的数据不能都被统计。而只用'%迪%个字时却正确',而实际数据中都是“片迪爱生”,为什么呢?

SELECT cm_address 姓名,累计数量 from  (select fcm_id,sum(fqty) 累计数量 from gm where fboug1 like '%片迪%' GROUP BY fcm_id) b left join
 cm on b.fcm_id=cm.cm_id


而只执行这个却能正确 select fcm_id,sum(fqty) 累计数量 from gm where fboug1 like '%片迪%' GROUP BY fcm_id

请高手帮忙看看,多谢了
搜索更多相关主题的帖子: 用法 like 
2010-09-04 18:09
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:4 
按你说的的确很奇观,不过,你试试看看
like '%片迪爱生%' 和 like '%片迪%' 是否相同?

2010-09-05 07:51
tangyunzhong
Rank: 5Rank: 5
来 自:广西
等 级:职业侠客
威 望:4
帖 子:97
专家分:364
注 册:2010-7-28
收藏
得分:4 
回复 楼主 fxdf
这个问题是你的left join on造成的。你先执行SELECT cm_address 姓名,累计数量 from  (select fcm_id,sum(fqty) 累计数量 from gm where fboug1 like '%片迪%' GROUP BY fcm_id)这个语句,看所有的数据是不是正确的,要是正确就是你的left join on出问题。这些都是很容易查出来的,你要是方便就给数据库给我,我帮你写。

[ 本帖最后由 tangyunzhong 于 2010-9-5 11:27 编辑 ]
2010-09-05 11:22
fxdf
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-9-4
收藏
得分:0 
请教angyunzhong
SELECT cm_address 姓名,累计数量 from  (select fcm_id,sum(fqty) 累计数量 from gm where fboug1 like '%片迪%' GROUP BY fcm_id)是正确的,
cm表中cm_id和上面查询出的表的fcm_id连接,显示cm表中的cm_address ,请教应如何写
2010-09-05 13:39
fxdf
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-9-4
收藏
得分:0 
现在发现where fboug1 like '%片迪%'
含有的字符是一个字时正确,是字段的最后2个字时正确,是中间2个字不正确,是前2个也不正确
2010-09-05 15:22
fxdf
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-9-4
收藏
得分:0 
如果查询的是字段的后三个字也无结果
2010-09-05 15:24
tangyunzhong
Rank: 5Rank: 5
来 自:广西
等 级:职业侠客
威 望:4
帖 子:97
专家分:364
注 册:2010-7-28
收藏
得分:0 
回复 楼主 fxdf
你还是发数据库给我吧,我帮你弄,是你写的语句出问题的。
联系方式:
QQ:876766735
2010-09-06 09:32
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:0 
的确很奇怪的问题
2010-09-06 14:18
smiledan
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2010-9-6
收藏
得分:4 

SELECT cm_address 姓名,累计数量 from  (select fcm_id,sum(fqty) 累计数量 from gm where fboug1 like '%片迪%' GROUP BY fcm_id) b left join
cm on b.fcm_id=cm.cm_id

应该是外面from的附近有问题,查的数据先放到表b中,但是表b中只有两个字段(fcm_id,sum(fqty) 累计数量),而外面搜索的内容是从表b中搜索的,“cm_address 姓名,累计数量”这两个字段在表b中没有,所以会查不到
2010-09-06 16:06
fxdf
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-9-4
收藏
得分:0 
姓名是从cm表中取的,表b和cm关联b.fcm_id=cm.cm_id
2010-09-06 18:04
快速回复:like用法的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048813 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved