UNIONALL后面的参数

UNION AL  每一段都可以用 拼接起来也没问题 就是在where后面加 参数的时候 就报错   

image.pngimage.png 这是参数

FineReport 无数个黑夜想退却 发布于 2022-5-17 16:37 (编辑于 2022-5-17 16:49)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
无数个黑夜想退却Lv2见习互助
发布于2022-5-19 14:22

把查询语句的结果创一个表  然后再从表中查询数据和添加参数 这样就ok了

最佳回答
1
snrtuemcLv8专家互助
发布于2022-5-17 16:40

把这个60秒改成大的时间

image.png

  • 无数个黑夜想退却 无数个黑夜想退却(提问者) 问题是我的数据没多少 我把参数删除了 只要5-6秒 就出数据了
    2022-05-17 16:43 
  • snrtuemc snrtuemc 回复 无数个黑夜想退却(提问者) 你的where语句,有replace替换,影响效率。本省需要5-6秒已经满了。试试不要replace替换,试试参数的日期格式改成yyyy-MM-dd格式
    2022-05-17 16:45 
  • 无数个黑夜想退却 无数个黑夜想退却(提问者) 回复 snrtuemc 带- 能毕竟大小嘛
    2022-05-17 17:03 
  • snrtuemc snrtuemc 回复 无数个黑夜想退却(提问者) 可以啊,统一时间格式可以比较的啊。。。
    2022-05-17 17:06 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-5-17 16:38(编辑于 2022-5-17 17:03)

SELECT 

ACCOUNTING_SUBJECT_SEAL_NAME, 

SUM(AMT_CONTRACT)/10000 AMT_CONTRACT, 

sum(AMT_COLLECTION)/10000 AMT_COLLECTION, 

COUNT( DISTINCT CUST_ID) 客户数 

FROM ( SELECT 

  t2.SIGNING_TIME, 

  T3.AMT_CONTRACT ,

   T2.ACCOUNTING_SUBJECT_SEAL_NAME, 

   t4.AMT_COLLECTION , 

   T2.CUST_ID FROM T2 

   LEFT JOIN T1 ON T2.ID=T1.ID 

   LEFT JOIN t3 ON T2.ID=T3.CONTRACT_ID 

   left join t4 on t4.CONTRACT_ID=t2.id 

WHERE 1=1 

${if(len(归属公司)==0,"","and T2.ACCOUNTING_SUBJECT_SEAL_NAME = '" + 归属公司 + "'" )} 

${if(len(起始时间)==0,"","and t2.SIGNING_TIME>= '" +format(起始时间,"yyyy-MM-dd") + "'")} 

${if(len(终止时间)==0,"","and t2.SIGNING_TIME<= '" +format(终止时间,"yyyy-MM-dd") + "'") } 

) tmp

GROUP BY ACCOUNTING_SUBJECT_SEAL_NAME

--------------分隔线----------------

把你的参数放在每一个里面

就是在第一段都去按时间过滤。数据量大的时候。你这样是先查询出所有数据再过滤肯定就慢了。。。每一段里面都放过滤参数。。

不然就去修改这里。把这个限制去掉。

image.png

最佳回答
0
七夜Lv6初级互助
发布于2022-5-18 06:35(编辑于 2022-5-18 06:37)

报错信息是什么呢?你试试改一下条件,主要是在 and 前面加了一个空格

WHERE 1=1  ${if(len(归属公司)==0,""," and T2.ACCOUNTING_SUBJECT_SEAL_NAME = '" + 归属公司 + "'" )}  ${if(len(起始时间)==0,""," and t2.SIGNING_TIME>= '" +format(起始时间,"yyyy-MM-dd") + "'")}  ${if(len(终止时间)==0,""," and t2.SIGNING_TIME<= '" +format(终止时间,"yyyy-MM-dd") + "'") }

  • 3关注人数
  • 471浏览人数
  • 最后回答于:2022-5-19 14:22
    请选择关闭问题的原因
    确定 取消
    返回顶部