ORACLESQL拼接问题

SELECT wm_concat(USERRELATIONID) FROM USER_UNIT WHERE ORGMENBERID='zhangshang'

这个我查询出来是701,702,703这样的数据,

我需要放到WHERE条件中IN出来

SELECT USERGROUPID FROM V_USER_CREGION WHERE USERGROUPID IN ('')

=========不知道怎么拼接单引号和双引号调整不好========

SELECT USERGROUPID FROM V_USER_CREGION WHERE 1=1 ${if(len(a)=0,"","USERGROUPID IN ('SUBSTITUTE(SELECT wm_concat(USERRELATIONID) FROM USER_UNIT WHERE ORGMENBERID='zhangshang',",","','")")}

这个SQL求解》???


===========================================


顺便问一句if条件

${if(len(a)=0,"","")

我这个参数a我可以直接写SQL吗?

'SELECT wm_concat(USERRELATIONID) FROM USER_UNIT WHERE ORGMENBERID='zhangshang'

wangqiaofeng 发布于 2021-1-19 18:00 (编辑于 2021-1-19 18:08)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
zsh331Lv8专家互助
发布于2021-1-19 18:06(编辑于 2021-1-19 18:08)
SELECT USERGROUPID
  FROM V_USER_CREGION 
 WHERE 1=1 
${if(len(a)=0,""," and USERGROUPID IN 
(SELECT USERRELATIONID FROM USER_UNIT WHERE ORGMENBERID='zhangshang')")}

——————

  • wangqiaofeng wangqiaofeng(提问者) 刚才我写漏了SUBSTITUTE,麻烦重新协助下呢 SELECT USERGROUPID FROM V_USER_CREGION WHERE 1=1 ${if(len(a)=0,\"\",\"USERGROUPID IN (\'SUBSTITUTE(SELECT wm_concat(USERRELATIONID) FROM USER_UNIT WHERE ORGMENBERID=\'zhangshang\',\",\",\"\',\'\")\")}
    2021-01-19 18:09 
  • zsh331 zsh331 回复 wangqiaofeng(提问者) 不要任何函数,直接用我上面的语句;
    2021-01-19 18:09 
  • wangqiaofeng wangqiaofeng(提问者) 回复 zsh331 我需要这个函数SUBSTITUTE,把我的值换成 1\',\'2 这样 因为我的值 不一定是ID值,有可能是字符串
    2021-01-20 15:20 
  • zsh331 zsh331 回复 wangqiaofeng(提问者) 字符串也支持;
    2021-01-20 15:41 
  • 2关注人数
  • 334浏览人数
  • 最后回答于:2021-1-19 18:08
    请选择关闭问题的原因
    确定 取消
    返回顶部