sql server 语句问题!!

场景:finereport 做了一个表穿透,页面的一个参数带入下一个表,下面sql是穿透表的查询

问:

(实际运行时sql)select ccuscode,ccusname from customer  where ccuscode in ('00550,00264,18020018')

(finereport设置sql)

select ccuscode,ccusname from customer 

where ccuscode in ('${客户编码}')

括号里面的字符串要怎么拆?或者是传参时怎么设置?

tangshi998 发布于 2019-3-6 10:59 (编辑于 2019-3-6 11:05)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
4
黄源Lv6中级互助
发布于2019-3-6 11:02(编辑于 2019-3-6 11:23)

replace("字符串",",","','")replace("'00550,00264,18020018'",",","','")

或者image.png

image.png

  • tangshi998 tangshi998(提问者) 这个参数不是手动顶死的,是初始页面的一个栏位值……
    2019-03-06 11:20 
  • 黄源 黄源 回复 tangshi998(提问者) 接收的地方用第一个函数处理
    2019-03-06 11:22 
最佳回答
0
ycming7474Lv2初级互助
发布于2019-3-6 11:01(编辑于 2019-3-6 11:20)

in里面的参数继续用select *from 表就可以了呀。里面本来就是一组数据。

image.png

  • tangshi998 tangshi998(提问者) 什么意思?没明白?
    2019-03-06 11:02 
  • ycming7474 ycming7474 回复 tangshi998(提问者) select ccuscode,ccusname from customer where ccuscode in (select * from 表)
    2019-03-06 11:02 
  • tangshi998 tangshi998(提问者) 回复 ycming7474 实际情况就是这个参数是从另一个地方传输过来的
    2019-03-06 11:06 
  • ycming7474 ycming7474 回复 tangshi998(提问者) 那就用参数拼接,select ccuscode,ccusname from customer where ccuscode in (\'\"+$param1+\"\',\'\"+$param2+\"\') 或者 select ccuscode,ccusname from customer where ccuscode in (\'\"+A1+\"\',\'\"+A2+\"\')
    2019-03-06 11:19 
最佳回答
0
luojian0323Lv7资深互助
发布于2020-12-6 14:14

如果客户编码这个参数多选后分隔符为:,

需要改一下参数

select ccuscode,ccusname from customer 

where ccuscode in ('${SUBSTITUTE(客户编码,",","','")}')

  • 4关注人数
  • 533浏览人数
  • 最后回答于:2020-12-6 14:14
    请选择关闭问题的原因
    确定 取消
    返回顶部