权限报错

select distinct org.base_name,org.factory_stage 

from zh_ads.ads_zzqlc_produce_detail org,

zh_ods.ods_fr_calb_export_user_data_permission p

where  p.user_name= '${fine_username}'

and if(p.base_name is NULL,1=1,org.base_name in('(select distinct p.base_name from zh_ods.ods_fr_calb_export_user_data_permission p

where  p.user_name= '${fine_username}')'))

and if(p.factory_flag is NULL,1=1,org.factory_stage in ('(select distinct p.factory_flag from zh_ods.ods_fr_calb_export_user_data_permission p where  p.user_name= '${fine_username}')'))

${if(len(基地)==0,"","and org.base_name in ('" + 基地 +"')")}

${if(len(工厂)==0,"","and org.factory_stage in ('" + 工厂 +"')")}

group by org.base_name,org.factory_stage

image.pngimage.png

请问为什么报错啊,CK数据库

FineReport 帆软用户E4Qo7Aqpqe 发布于 2023-4-14 12:21
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-4-14 12:34(编辑于 2023-4-14 12:44)

你这个if判断  ,你看把语句拿出来看它生效没有。还有in里面的写法不对吧

没有这样in的方式

image.png

image.png

你先按下面的语句录入参数。查询看是否报错,正常是不会报错的

select distinct org.base_name,org.factory_stage 

from zh_ads.ads_zzqlc_produce_detail org,

zh_ods.ods_fr_calb_export_user_data_permission p

where  p.user_name= '${fine_username}'

and org.base_name in(select distinct p.base_name from zh_ods.ods_fr_calb_export_user_data_permission p

where  p.user_name= '${fine_username}')

and org.factory_stage in (select distinct p.factory_flag 

  from zh_ods.ods_fr_calb_export_user_data_permission p 

  where  p.user_name= '${fine_username}')

${if(len(基地)==0,"","and org.base_name in ('" + 基地 +"')")}

${if(len(工厂)==0,"","and org.factory_stage in ('" + 工厂 +"')")}

group by org.base_name,org.factory_stage

  • 帆软用户E4Qo7Aqpqe 帆软用户E4Qo7Aqpqe(提问者) 错误代码:11300001 数据集 [ds1] 配置错误ClickHouse exception, code: 349, host: 10.77.101.2, port: 8125; Code: 349, e.displayText() = DB::Exception: Cannot convert NULL value to non-Nullable type: While executing MergeTreeThread (version 20.8.11.17)
    2023-04-14 14:22 
  • CD20160914 CD20160914 回复 帆软用户E4Qo7Aqpqe(提问者) 你把得到的sql语句发出来。。
    2023-04-14 14:24 
  • 帆软用户E4Qo7Aqpqe 帆软用户E4Qo7Aqpqe(提问者) 回复 CD20160914 select distinct org.base_name,org.factory_stage from zh_ads.ads_zzqlc_produce_detail org, zh_ods.ods_fr_calb_export_user_data_permission p where p.user_name= \'\' and org.base_name in(select distinct p.base_name from zh_ods.ods_fr_calb_export_user_data_permission p where p.user_name= \'\') and org.factory_stage in (select distinct p.factory_flag from zh_ods.ods_fr_calb_export_user_data_permission p where p.user_name= \'\') group by org.base_name,org.factory_stage
    2023-04-14 14:49 
  • CD20160914 CD20160914 回复 帆软用户E4Qo7Aqpqe(提问者) 你没有传用户名吗
    2023-04-14 14:52 
  • 帆软用户E4Qo7Aqpqe 帆软用户E4Qo7Aqpqe(提问者) 回复 CD20160914 预览的时候传了,就是报上面的错误
    2023-04-14 14:55 
  • 2关注人数
  • 320浏览人数
  • 最后回答于:2023-4-14 12:44
    请选择关闭问题的原因
    确定 取消
    返回顶部