如何使用具有可选值的多个条件从Mysql表中获取值

时间:2018-05-02 07:41:21

标签: php mysql

我需要从多个条件中检索MYSQL表中的所有数据,但这里有一些输入是可选的。我在解释下面的表格。

  

db_exam:

id   name   reg_no     zone    center    college    sub_code  

1    aaa      12         3       AB        scs          2

2    bbb      12         2       AB        BJB           2

3    ccc      13         3       AB        BJB          3    

我传递了以下输入来获取所有数据。

reg_no=12
zone=3
center=AB
sub_code=2

从上面的输入中,有些是可选的,意味着列center and sub_code的值可能存在或可能为空。在这里,我需要查询以使用上述条件以及列center=AB or center=''sub_code=2 or sub_code=''的值来获取所有数据。但前两个条件是强制性的。

3 个答案:

答案 0 :(得分:0)

使用以下查询

select * from db_exam where reg_no=12 and zone=3 and (center=AB or center='') and (sub_code=2 or sub_code='')

答案 1 :(得分:0)

用户其中IN 查询如下。 传递输入值和默认值,如空字符串''。

SELECT * 
FROM db_exam
WHERE (reg_no = <number> AND zone= <number> AND center IN (<input>, '') AND sub_code IN (<input>, ''));

如果我错了,请纠正我。

答案 2 :(得分:0)

试试这个:

NOT IN