Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql的WHERE-in-SELECT中设置2个以上的过滤器_Mysql - Fatal编程技术网

如何在mysql的WHERE-in-SELECT中设置2个以上的过滤器

如何在mysql的WHERE-in-SELECT中设置2个以上的过滤器,mysql,Mysql,你好,我有mysql选择。我将从核心中选择loc。此loc必须从dateid=(““$dateid.”)和location=(““$id.”)的行中进行选择。我还需要在其中添加两个条件。我的意思是,我可以像一个这样做,其中dateid=(“$dateid.”)和location=(“$id.”)以及介于“2012-10-1”和“2012-10-4”之间,这不起作用。 如何添加此时间跨度 $SQL = "SELECT loc FROM core WHERE dateid=('".$dateid."

你好,我有mysql选择。我将从核心中选择loc。此loc必须从dateid=(““$dateid.”)和location=(““$id.”)的行中进行选择。我还需要在其中添加两个条件。我的意思是,我可以像一个这样做,其中dateid=(“$dateid.”)和location=(“$id.”)以及介于“2012-10-1”和“2012-10-4”之间,这不起作用。 如何添加此时间跨度

$SQL = "SELECT loc FROM core WHERE dateid=('".$dateid."') AND location=('".$id."')";

$result = mysql_query($SQL);
 if($result){
$db_field = mysql_fetch_array($result);
$rs[$i]=$db_field[$select[$i]];}

}
我可以在何处添加开始日期和结束日期吗?
我该怎么做呢?

只要去掉前两个大括号,然后用
操作符添加剩下的两个过滤器就行了

  SELECT loc FROM core WHERE dateid=$dateid AND location=$id
       AND startdate = STR_TO_DATE('$startdate', '%d/%m/%y') 
       AND enddate = STR_TO_DATE('$enddate', '%d/%m/%y') ;
我假设
dateid
id
是数字字段,而
startdate
enddate
是包含日期值的字符串值,例如
12/12/2012


请使用正确的列和变量名。同时提供字符串的最新格式。

在何处添加两个条件是什么意思?删除变量周围的大括号-它们在那里不需要。@RomanNewaza:.您好,我可以在“2012-10-1”和“2012-10-4”之间添加吗enddate@ganaa在这种情况下,在之间使用
,例如STR_TO_date('$startdate','%d/%m/%y')和STR_TO_date('$enddate','%d/%m/%y')之间的
date列。