SQL Query处理多个WHERE

时间:2014-08-25 07:55:02

标签: mysql sql

我打算通过网络界面生成报告。

My page content two field:
----------------------

Gender: Male Female (radio button)

Age: 10 to 20 (Select list)

------------------

我如何编写查询,如果用户仅提供"性别"它们可以处理这两种情况。 base WHERE子句或必需的gender或Age base WHERE子句。

我想编写单个查询处理这两种情况。

请帮帮我

此致

2 个答案:

答案 0 :(得分:1)

使用and

select *
from   yourTable
where  gender = 'Male'
and    age between 10 and 20

如果不确定用户是否输入了值,请尝试ornull检查。您可以对gender

执行相同的操作
select *
from   yourTable
where  gender = 'Male'
and    (age is null or age between 10 and 20)

答案 1 :(得分:0)

您的基本查询应该类似于

SELECT * 
FROM Customer 
WHERE 1=1

你应该根据用户提供的参数添加条款(" AND gender = something"," AND之间的东西和某种东西")。

如果用户没有选择任何参数,基本查询应该可以正常工作。如果用户提供参数或两者都提供,则查询类似于:

SELECT  *
FROM Customer 
WHERE 1=1
AND gender = "male"