Code Bye

关于MySQL中存储过程的问题

目前公司需要用存储过程做个统计分析,输入条件有十几个,但输出结果集是一个,就是根据不同的输入条件,来输出结果。
现在本人打个比方输入条件有:1,2,3,4,根据这4个条件排列组合,来查询输出结果。
按照4个条件这样组合起来,本人算了下得相当于有24种条件啊。
那用mysql存储过程里面 用 IF  语句来 岂不是要写 至少24种判断,这岂不是要写死人啊。万一是更多条件,本人都不敢想象啊。
高手们,有没有什么好的方法来实现啊?求指导啊~~~~~~
解决方案

5

 假如字段存在,则在sql语句中加上该条件
就4个if判断
通过组装SQL语句去实现,而不是每个IF写一个SQL

35

SELECT *
FROM test
WHERE (t_A=p_a or p_a is null)
and (t_B=p_b or p_b is null)
and (t_C=p_c or p_c is null)
and (t_D=p_d or p_d is null)
;

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于MySQL中存储过程的问题