我需要从多个条件中检索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=''
的值来获取所有数据。但前两个条件是强制性的。
答案 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