有这样一个表,表名为e
表结构及记录如下:
e_id ps_id
1 ,1,6,
2 ,2,3,
3 ,4,5,
4 ,3,7,ps_id中存的1 2 3 4...比如说是产品的id,现在我想把负责(,1,2,3,4,5,)五种产品中的任意组合的e_id找出来,上表中,也就是找出e_id为2和3的两条记录。
String p_id = ",1,2,3,4,5,";
我试过了,用like 和in 好象都不行,我用的数据库是MySql,请各位大侠帮忙解决!谢谢!
表结构及记录如下:
e_id ps_id
1 ,1,6,
2 ,2,3,
3 ,4,5,
4 ,3,7,ps_id中存的1 2 3 4...比如说是产品的id,现在我想把负责(,1,2,3,4,5,)五种产品中的任意组合的e_id找出来,上表中,也就是找出e_id为2和3的两条记录。
String p_id = ",1,2,3,4,5,";
我试过了,用like 和in 好象都不行,我用的数据库是MySql,请各位大侠帮忙解决!谢谢!
比较笨的方法,估计还有更好的
要找出只有12345的,
上面的那个方法不行应该把字符串按照,来split之后,再判断是否在1,2,3,4,5里面,不过我也不知道如何写这个sql,
to masse(当午) :不是这样的,一条记录的ps_id里只可能有一个1或2或...., ps_id里存的是多种产品的id,每一种前后都有逗号,比如说e_id=2的这条记录,ps_id里存了两种产品:2和3,这两种产品的前后都有逗号(,2,3,)。
现在我要把ps_id属于(,1,2,3,4,5,)中任何一种组合的记录找出来,也就是找出上表中e_id为2和3的两条记录。
select e_id,ps_id from e where substring(ps_id,2,length(ps_id)-2) in (1,2,3,4,5);
谢谢各位!