复选框复选值问题

SELECT

SUBSTR( date_time, 0, 8 ) date_time,

cx,

cx_name,

cx_code,

SUM ( total_num ) num 

FROM

dm.dm_mk_pf_passenger_flow

A left JOIN dm.dm_mk_dim_car_type C ON A.cx = C.cx_code 

WHERE

SUBSTR( date_time, 0, 5 ) = '2021'  

${if(len('CX5','CX30')=0,"","and cx_code in('"+ 'CX5','CX30'+ "')")}

GROUP BY

SUBSTR( date_time, 0, 8 ),

cx,

cx_name,

cx_code 

-------------'CX5','CX30'-------------------这个为车系参数

请问各位大佬,红色部分为我复选框选择 两项的参数 ,这个sql是错误的,配置分隔符了

image.png

已经蒙圈了 

FineReport yzm252080 发布于 2022-3-7 13:24 (编辑于 2022-3-7 13:25)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-3-7 13:28(编辑于 2022-3-7 13:34)

${if(len(车系编码)=0,"","and cx_code in('"+ 车系编码+ "')")}

image.png

image.png

  • yzm252080 yzm252080(提问者) 你的产品编码 不用 \',\' 这个分隔符么? 有逗号,这个sql就执行不了
    2022-03-07 13:30 
  • CD20160914 CD20160914 回复 yzm252080(提问者) 你还是要设置分隔符号。。。
    2022-03-07 13:30 
  • CD20160914 CD20160914 回复 yzm252080(提问者) sql语句类似改成上面的。再按你之前的设置分隔符号就行了。。
    2022-03-07 13:32 
最佳回答
0
snrtuemcLv8专家互助
发布于2022-3-7 13:29

${if(len('CX5','CX30')=0,"","and cx_code in('"+ 'CX5','CX30'+ "')")}

改成

${if(len(CX5)=0," (and 1=1","and cx_code in('"+ CX5+ "')")}

${if(len(CX30)=0,"and 1=1)","or cx_code in('"CX30+ "'))")}

  • yzm252080 yzm252080(提问者) 亲 我只是举例我复选了这两个车型,大概十多种车型呢
    2022-03-07 13:31 
  • snrtuemc snrtuemc 回复 yzm252080(提问者) 额,我以为你是两个控件,直接是一个控件的话,${if(len(控件名)=0,\"\",\"and cx_code in(\'\"+控件名+ \"\')\")} ,评论会在引号前加斜杠,自己删除
    2022-03-07 13:33 
最佳回答
0
@Lv6资深互助
发布于2022-3-7 13:30(编辑于 2022-3-7 13:33)

'CX5','CX30'这个是一个整体吗? 你写个code也行啊

${if(len(code)=0,"","and cx_code in('"+ code+ "')")}

image.png

  • 4关注人数
  • 463浏览人数
  • 最后回答于:2022-3-7 13:34
    请选择关闭问题的原因
    确定 取消
    返回顶部