日期:2014-05-17  浏览次数:20730 次

要筛选一个字段中符合条件的几种值应该怎么查询?
是这样查询吗 select * from table where cateid=2 or cateid=4 or cateid=8 有没有其它方法..

我现在得到一个字符中cateid="2,4,8," 有什么简便的方法把符合条件的值给取出来呢,cateid的值长度不固定,有可能是cateid="2,4,8,23,44," 也有可能是cateid="2," 

谢谢........

------解决方案--------------------
select * from table where cateid in(2,4,8)
------解决方案--------------------
用in条件查询,但是条件的最后面的(,逗号)要去掉
------解决方案--------------------
SQL code

  select * from table where cate_id in (2,4,8)

------解决方案--------------------
还是用or效率应该更高一些吧,用in写起来更容易一些
PHP code

$a=explode(',',"2,4,8,23,44,");
$w = array();
foreach($a as $s){
  if(intval($s))
    $w[]='cate_id='.intval($s);
}
if(count($w))
  echo "select * from table where ".implode(' or ',$w);