sql要怎么调整呢?参数user_name输入A没问题,输入‘其他’有这个报错,应该是有数据的
select distinct dept from T  where 1=1 ${if(or(len(user_name) == 0,user_name = “A”),””,”and COALESCE((select distinct research from m where login = '" + user_name + "'),'not exists') = dept")} and dept<>''

image.png

FineReport SQL TYJCC 发布于 2023-1-11 16:54
1min目标场景问卷 立即参与
回答问题
悬赏:5 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
烟尘Lv6高级互助
发布于2023-7-20 17:06(编辑于 2023-7-20 17:09)

参考:https://blog.csdn.net/wkj001/article/details/123549107

看报错信息,提示字段编码规则不一致,【A】是英文不会报错,【其他】是中文就报错了

最佳回答
0
CD20160914Lv8专家互助
发布于2023-1-11 16:56(编辑于 2023-1-11 16:59)

select distinct dept from T  

where 1=1 

${if(or(len(user_name) == 0,user_name = "A"),"","and COALESCE((select distinct research from m where login = '" + user_name + "'),'not exists') = dept")} and dept<>''

这样?但是你里面的'not exists'是什么意思。不明白。。。。

先看一下not exists的使用方法

not exists用法 - aaa111js - 博客园 (cnblogs.com)

image.png

最佳回答
0
luojian0323Lv7资深互助
发布于2023-1-11 16:57

一看就是语法错误

”and COALESCE((select distinct research from m where login = '" + user_name + "'),'not exists') = dept"

这是要表达啥?

  • 4关注人数
  • 305浏览人数
  • 最后回答于:2023-7-20 17:09
    请选择关闭问题的原因
    确定 取消
    返回顶部