关于sql --select--in 的一个问题 --使用like来解决select sum(total) from A awhere exists(select 1 from B where id=1 and alist like concat('%',a.id,'%')); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那样似乎效果并不是太好,我已经解决了其实很简单,replace(alist,",","','")替换一下就好了 --使用like来解决select sum(total) from A awhere exists(select 1 from Bwhere id=1 and alist like concat('%',a.id,'%'));---------------------------------不是太明白为什么会是alist like?alist应该是根据B的ID唯一提出来的呀 用IN的话除非ID和你select出来的某一条结果相等才会是 true,你现在的ID只是某一个结果的一部分,所以用like. 恩,问题已经解决用exists在mysql中有时候会出现提不出的问题最后我这样处理的:select sum(A.total) from A,Bwhere B.id=1 and B.alist like concat('%',a.id,'%')); MYSQL的疑惑 mysql建方面的多对多的实例原理该如何理解? 如何使这个表查询变快? 这条获取日期数量的mysql查询怎么写? 关于MySQL密码修改的问题? mysql-5.1.38 中文问题 经典SQL语句 怎样在存储过程里面执行SQL语句!! 网站想用触发器的功能,是用mysql5.0好呢?还是程序中实现好? mysql 存储过程 求大神指点 我的mysql数据库有一个字段类型datetime, 我想数据库的自然顺序就是datetime的倒序排列,这样在查询时就不要排序了, 请问mysql怎样实现呢 为什么没有mysqladmin
其实很简单,replace(alist,",","','")替换一下就好了
where exists(select 1 from B
where id=1 and alist like concat('%',a.id,'%'));
---------------------------------
不是太明白
为什么会是alist like?alist应该是根据B的ID唯一提出来的呀
你现在的ID只是某一个结果的一部分,所以用like.
用exists在mysql中有时候会出现提不出的问题
最后我这样处理的:
select sum(A.total) from A,B
where B.id=1 and B.alist like concat('%',a.id,'%'));