SQL语句疑问

帆软下:

select tta.mdmc,tta.spid,tta.spmc,ttb.xszje from

(select ta.mdmc,ta.louceng,ta.spid,ta.spmc,tb.xsze from 

(select * from zg_sysinfo where 1=1 ${if( len(fine_username)== 0  , "",  "and  mdmc='"+门店+"'  and louceng in (select distinct louceng from jhyb_user where mdmc='"+门店+"'  and name = '"+fine_username+"'  )"  )}  )ta

 join

(select mdmc,loudong,louceng,quyu,spid,spmc,sum(xsze)xsze from view_xshb 

where rq>='${format(datedelta(开始日期,-14),"yyyy-MM-dd")}'

and rq<='${结束日期}'

group by mdmc,loudong,louceng,quyu,spid,spmc

 ) tb

on ta.mdmc=tb.mdmc  and ta.louceng=tb.louceng and ta.spid=tb.spid

)tta

left join 

(select mdmc,loudong,louceng,quyu,spid,spmc,xsbs,xsze xszje from view_xshb 

where rq='${结束日期}'

 ) ttb 

on tta.mdmc=ttb.mdmc and tta.louceng=ttb.louceng and tta.spid=ttb.spid

where ttb.xszje is null

order by tta.mdmc,tta.spid asc

SQL下:

select tta.mdmc,tta.spid,tta.spmc,ttb.xszje from

(select ta.mdmc,ta.louceng,ta.spid,ta.spmc,tb.xsze from 

(select * from zg_sysinfo where  mdmc='江北店'  and louceng in (select distinct louceng from jhyb_user where mdmc='江北店'  and name = 'ysbin'  ) )ta

 join

(select mdmc,loudong,louceng,quyu,spid,spmc,sum(xsze)xsze from view_xshb 

where rq>='2023-1-24'

and rq<='2023-2-7'  

group by mdmc,loudong,louceng,quyu,spid,spmc

 ) tb

on ta.mdmc=tb.mdmc  and ta.louceng=tb.louceng and ta.spid=tb.spid

)tta

left join 

(select mdmc,loudong,louceng,quyu,spid,spmc,xsbs,xsze xszje from view_xshb 

where rq='2022-2-7' 

 ) ttb 

on tta.mdmc=ttb.mdmc and tta.louceng=ttb.louceng and tta.spid=ttb.spid

where ttb.xszje is null

order by tta.mdmc,tta.spid asc

报表是为了查:最近14天有销售,但是当天没销售的。

一模一样的查询条件,帆软下面就是加了个用户权限表的部门条件和开始结束时间。

我在SQL下面条件直接输入值,秒出结果。在帆软里面计算不出来,请大神帮忙看下。

FineReport ysbin 发布于 2023-2-9 09:44
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-2-9 09:46

这个需要在决策系统预览

直接预览,取不到fine_username这个参数的

  • ysbin ysbin(提问者) 是的,已经在正式环境下打开了,不是直接预览。
    2023-02-09 10:08 
  • snrtuemc snrtuemc 回复 ysbin(提问者) 那是不是你直接数据集预览,输入参数和决策系统的不一样,可以设置下tomcat的日志登记为debug模式,看看查询的sql语句,获取到什么样的sql查询语句,
    2023-02-09 10:11 
  • ysbin ysbin(提问者) 回复 snrtuemc 我是一张决策报表,有好几个图,这张表的“门店”是从第一张的饼图传过来的,如果我把现在这张表SQL删掉正个表就能正常打开,不然就显示超时。问题出在这张表
    2023-02-09 10:14 
  • snrtuemc snrtuemc 回复 ysbin(提问者) 可以拷贝一个,然后删除其他图表,只留下这个表,打开再看看最后执行的sql语句,判断问题出在哪
    2023-02-09 10:18 
  • ysbin ysbin(提问者) 回复 snrtuemc 我用TOMCAT代码复制出来了,运行要70秒,所以延时了。看了条件就这一句:select * from zg_sysinfo where 1=1 and mdmc=\'江北店\' and louceng in (select distinct louceng from jhyb_user where mdmc=\'江北店\' and name = \'ysbin\' ) 多了个1=1,这有影响吗?
    2023-02-09 10:46 
最佳回答
0
地球刘亦菲Lv6初级互助
发布于2023-2-9 09:45

你看看是不是你参数传的有问题

  • ysbin ysbin(提问者) 这个参数有没有准确传过去,应该怎么看?我另外一张表,也是一样传过来正常的。
    2023-02-09 10:11 
  • 地球刘亦菲 地球刘亦菲 回复 ysbin(提问者) 你可以下载一个插件,报表调试助手,可以看到参数传递到SQL语句的效果,这样就知道是因为什么问题了
    2023-02-09 11:21 
  • 2关注人数
  • 292浏览人数
  • 最后回答于:2023-2-9 09:46
    请选择关闭问题的原因
    确定 取消
    返回顶部