我打算通过网络界面生成报告。
My page content two field:
----------------------
Gender: Male Female (radio button)
Age: 10 to 20 (Select list)
------------------
我如何编写查询,如果用户仅提供"性别"它们可以处理这两种情况。 base WHERE子句或必需的gender或Age base WHERE子句。
我想编写单个查询处理这两种情况。
请帮帮我
此致
答案 0 :(得分:1)
使用and
:
select *
from yourTable
where gender = 'Male'
and age between 10 and 20
如果不确定用户是否输入了值,请尝试or
和null
检查。您可以对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"