hulq玄铁三
2021-8-30 09:20:37 发布在问答
sql过滤日期文本参数
本帖最后由 hulq 于 2021-8-30 09:24 编辑

假如数据量太大,报表打开太慢,我想根据我在报表中设置的日期文本参数来筛选数据,从而达到快速打开报表的目的,想请问下该怎么写? 1630286147(1).jpg 1630286202(1).jpg 1630286667(1).jpg

最佳答案

_贝贝 白银一 关注Ta

2021-08-30 09:20:38

如果存在自查询那么可能,子查询一个where,主查询一个 where. 如果存在分组。那么可能(利用having) 利用case when或者是decode也可以达到类似的效果。 如果单纯的一个查询,想有两个where子句,那么不可能。 这个where还是根据sql语法来的,按照正常的sql语句写就行
查看完整内容
10792
24
精彩评论24
_贝贝白银一
发表于 2021-8-30 09:20:38 显示全部楼层
如果存在自查询那么可能,子查询一个where,主查询一个 where.
如果存在分组。那么可能(利用having)
利用case when或者是decode也可以达到类似的效果。
如果单纯的一个查询,想有两个where子句,那么不可能。

这个where还是根据sql语法来的,按照正常的sql语句写就行
回复

使用道具 2#

_贝贝白银一
发表于 2021-8-30 09:38:05 显示全部楼层
数据量较大时,数据集及报表通过传参到SQL中过滤相应数据,减少数据量、缩短报表加载时间。

1.单值参数:
①.Select * from table where 1=1
<参数1> and 字段1=?{参数1}</参数1> --语法含义为:当参数1为空值时,SQL不拼接此条件语句;当参数1部位空值时,则SQL拼接上此条件语句
Eg:< deptno > and 字段1=?{ deptno }</ deptno >
②.Eg: where 1=1
<参数1> and 字段1=?{参数1}</参数1>
<参数2> and 字段2=?{参数2}</参数2>

2.多值参数:(参数只有一个,但是参数值可以传递多个)
select * from table  WHERE 1=1
<参数1> and 省份 in (?{参数1}) </参数1>
回复

使用道具 3#

hulq玄铁三
发表于 2021-8-30 09:41:41 显示全部楼层
永洪tech-zxx 发表于 2021-8-30 09:38
数据量较大时,数据集及报表通过传参到SQL中过滤相应数据,减少数据量、缩短报表加载时间。

1.单值参数:

报错的。Related Query: '咖啡中国市场销售数据20210830084136-1784'   Run user: 'admin'
Caused by: java.sql.SQLException   执行SQL失败:“Column '交易日期' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE  statement then '交易日期' is not a column in the target table.”
回复

使用道具 4#

hulq玄铁三
发表于 2021-8-30 09:46:00 显示全部楼层
永洪tech-zxx 发表于 2021-8-30 09:38
数据量较大时,数据集及报表通过传参到SQL中过滤相应数据,减少数据量、缩短报表加载时间。

1.单值参数:

而且参数哪里我也设置了多个值
回复

使用道具 5#

_贝贝白银一
发表于 2021-8-30 09:54:07 显示全部楼层
参考一下这个帖子用开咖啡数据集做一个简单的例子看一下,使用的哪个版本
https://club.yonghongtech.com/fo ... 7&highlight=sql
回复

使用道具 6#

hulq玄铁三
发表于 2021-8-30 09:56:36 显示全部楼层
永洪tech-zxx 发表于 2021-8-30 09:54
参考一下这个帖子用开咖啡数据集做一个简单的例子看一下,使用的哪个版本
https://club.yonghongtech.com/f ...

desktop最新版的,这个试过了,报的错喝上面一样
回复

使用道具 7#

_贝贝白银一
发表于 2021-8-30 10:17:20 显示全部楼层
截图看一下sql和数据集的字段
回复

使用道具 8#

hulq玄铁三
发表于 2021-8-30 10:22:11 显示全部楼层
永洪tech-zxx 发表于 2021-8-30 10:17
截图看一下sql和数据集的字段

1630289998(1).jpg 1630290031(1).jpg
回复

使用道具 9#

_贝贝白银一
发表于 2021-8-30 10:36:37 显示全部楼层
交易日期不加双引号
回复

使用道具 10#

123  
高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
100W

用户等你来哦

Copyright   ©2012-2025  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部