mysql多行搜索
Q:如何进行多行mysql查询搜索 我要进行脚本搜索的是:mysql多行搜索,mysql,search,Mysql,Search,Q:如何进行多行mysql查询搜索 我要进行脚本搜索的是: if kat_preces_params.params_id is equal to 124 AND kat_preces_params.nosaukums is LIKE '%$make%', AND if kat_preces_params.params_id is equal to 125 AND kat_preces_params.nosaukums is LIKE '%$model%' AND IF kat_prece
if kat_preces_params.params_id is equal to 124 AND kat_preces_params.nosaukums is LIKE '%$make%',
AND if kat_preces_params.params_id is equal to 125 AND kat_preces_params.nosaukums is LIKE '%$model%'
AND IF kat_preces_params.params_id is equal to 126 AND kat_preces_params.nosaukums <=2009 AND kat_preces_params.nosaukums >=2000
$model
和$make
是请求的值
也许可以使用内部连接或某种方式(对内部连接一无所知)
谢谢大家!
- 将
$gads
的定义更改为:2000年至2009年期间的kat_preces_params.nosakums
,依此类推
- 根据您的第一组先决条件,我认为您需要的是:
kat_precess_params.params_id IN(124125126)和kat_precess_params.nosakums,如“%$make%”或kat_precess_params.nosakums,如“%$model%”
我不明白的是,kat_preces_params.nosakums
中有什么类型的数据,您曾经将它们作为整数进行比较,而另一次作为字符串进行比较,您尝试过该查询吗?发生了什么?你有错误吗?哪一个?Nosakums的数据类型实际上是什么?kat_precess_params.Nosakums
?kat_precess_params.Nosakums
数据类型是什么longtext@Pēteris您能提供SQLFIDLE上的示例表吗?另外,请用一个例子解释你想要什么样的输出。
if($year == '2010 - ...'){
$gads = 'kat_preces_params.nosaukums <=2010';
}
elseif($year == '2000 - 2009'){
$gads = 'kat_preces_params.nosaukums <=2009 AND kat_preces_params.nosaukums >=2000';
}
elseif($year == '2000 - 2004'){
$gads = "kat_preces_params.nosaukums <=2004 AND kat_preces_params.nosaukums >= 2000";
}
elseif($year == '... - 1999'){
$gads = "kat_preces_params.nosaukums <=1991";
}
SELECT kat_prece.*, kat_preces_params.* FROM kat_prece, kat_preces_params WHERE pamat_kat_sad = '$cat_mod_id'
AND kat_prece.preces_id = kat_preces_params.preces_id
AND ((
kat_preces_params.params_id=124
AND kat_preces_params.nosaukums LIKE '%$make%'
)
|| (
kat_preces_params.params_id=125
AND kat_preces_params.nosaukums LIKE '%$model%'
)
AND kat_preces_params.params_id=126
AND $gads
)