永洪社区

标题: 根据参数值切换where条件 [打印本页]

作者: 菜鸟007    时间: 2024-9-9 15:35
标题: 根据参数值切换where条件
永洪可不可以实现这样的场景:where 1=1
and a=a1
and b=b1
当传递参数x=1时,第一个条件a=a1成立,同时条件二失效,当传递参数x=2时,条件二b=b1成立,同时条件一失效

作者: 阿姆斯特朗炮    时间: 2024-9-9 15:35
菜鸟007 发表于 2024-9-10 14:32
and (( -->((  and,这个这样写嘛,后面的两个括号提到前面哪里呀
  1. where
  2. ( 1=1 <开始> and a.day_dat >=?{开始}</开始> <结束> and a.day<=?{结束} </结束>  and ?{类型} ='月')
  3. or
  4. ( 1=1 <开始> and a.day_dat >=?{开始}</开始> <结束> and a.day<=?{结束} </结束>  and ?{类型} ='周')
复制代码

看这个,永洪回复有问题,说我恶意攻击……………………
作者: 朝花夕拾    时间: 2024-9-9 15:43
你把a1和b1也作为参数,在参数设置中写固定值。用尖括号的形式括起来,前端写脚本控制x=1时,b1为空,否则a1为空
作者: 阿姆斯特朗炮    时间: 2024-9-9 15:46
where 1=1
and ((a=a1 and param["x"] = 1)
or (b=b1 and param["x"] = 2))
作者: 菜鸟007    时间: 2024-9-9 16:45
阿姆斯特朗炮 发表于 2024-9-9 15:46
where 1=1
and ((a=a1 and param["x"] = 1)
or (b=b1 and param["x"] = 2))

(, 下载次数: 1)