$fr_authority 传回数组,怎么用in的方式查出多条数据?

求大神:

${fr_authority}传回来一个数组,例:我将${fr_authority}定义为区域,传回  华南,北方

然后我写sql,初始化的时候查询出华南和北方的数据,应该如何写?

SELECT 

FROM dbo.[REP_ARTOT] 

where 1=1

and BAREA in    ???


lsy1993 发布于 2019-1-23 09:01
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
lsy1993Lv2见习互助
发布于2019-1-23 11:28

REPLACE(CONCATENATE("'",$fr_authority,"'"),",","','") 用公式拼接处('华南','北方')这样的格式。

最佳回答
0
HuangYiDanLv4见习互助
发布于2019-1-23 09:40(编辑于 2019-1-23 09:48)

应该是想查询条件为空的时候显示全部吧

SELECT * FROM dbo.[REP_ARTOT]

where 1=1 ${if(len(fr_authority) == 0," ","and BAREA in ('" + fr_authority + "')")}

where 1=1表示条件永真,防止没有之后的参数条件时,where多出而导致出错;len(fr_authority)==0表示参数fr_authority为空;"and BAREA ='"+fr_authority +"'" 中间的fr_authority 表示取参数值,'+' 为字符串拼接符号。

${if(len(fr_authority ) == 0,"","and BAREA = '" + fr_authority + "'")} 表示若参数fr_authority 为空就不进行过滤,若不为空则货主地区等于参数值。

此处参数名fr_authority 与参数面板中添加的复选框控件fr_authority 控件名一致,即将参数控件与数据集参数绑定到一起,实现参数的过滤


最佳回答
0
sunzitao2008Lv3见习互助
发布于2019-1-23 10:24

可以换个方式来实现。。。将数据组的所有值都存储到数据库中的某个表中。。然后 

FROM dbo.[REP_ARTOT] 

where 1=1

and BAREA in (select area from b where b.x='${xxx}')


  • 2关注人数
  • 601浏览人数
  • 最后回答于:2019-1-23 11:28
    请选择关闭问题的原因
    确定 取消
    返回顶部