有一个字符串为names:'aaa','ccc','zzz';
还有一个表info,两个字段:id和name;
id name
0 aaa
0 bbb
0 ccc
0 ddd
0 eee
我查询names的各子串是否都在表info中,有就保留,没有就去掉;
比如上面的查询结果为:'aaa','ccc',因为表info中没有'zzz',所以就去掉了。
有没有简单的查询方法,谢谢。
还有一个表info,两个字段:id和name;
id name
0 aaa
0 bbb
0 ccc
0 ddd
0 eee
我查询names的各子串是否都在表info中,有就保留,没有就去掉;
比如上面的查询结果为:'aaa','ccc',因为表info中没有'zzz',所以就去掉了。
有没有简单的查询方法,谢谢。
我现在是用程序把串拆开来分别查询的,不知有没有简单的sql查询方法。
insert into info(name)
values('aaa'),
('bbb'),
('ccc'),
('ddd'),
('eee');select * from info where name in ('aaa','ccc','zzz');query result(2 records)
id name
0 aaa
0 ccc drop table info;
把字符串为names:'aaa','ccc','zzz'先构成一个表names,一个字段name
再select name from names,info where names.name=info.name
这样查找出来的就是aaa,ccc
其实楼上兄弟的方法已经不错了,我也是这样想的,不过人家帖了我就不好意思再说咯~_~,还
要谢谢楼上yueliangdao0608((深圳PHPER,MSN:[email protected])刚帮我解决了一个小问题
yueliangdao0608((深圳PHPER,MSN:[email protected])) 方法还不错,只是不知道查询效率怎么样。
字符串names是表abc的一个字段,还能用“yueliangdao0608((深圳PHPER,MSN:[email protected])) ”说的查询方法吗?
从中得到启示,可考虑另一种方法:写一个存储过程,循环依次取出含有names中各数据的记录。用in相当于是循环了表中每一条记录,这样写存储过程是循环要找的各字符串。