起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2839|回复: 5

[结贴] 动态sql报表

[复制链接]

30

主题

120

帖子

177

积分

初级会员

Rank: 2

积分
177
发表于 2014-6-26 17:11:41 | 显示全部楼层 |阅读模式
版本: X5.2.7 小版本号:
数据库: Oracle 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 8 浏览器: IE10
本帖最后由 xiaomei115 于 2014-6-26 17:27 编辑

报表采用自定义的action,
sql1:select  a, b, c, sum(d) from 表  group by a, b, c;
sql2:select  a, b, c, d, sum(d) from 表 group by a, b, c, d;
sql3:select  a, b, c, e, sum(d) from 表 group by a, b, c, e;
sql4:select  a, b, c, d, e, sum(d) sum from 表 group by a, b, c, d, e;

报表
查询条件:

a
b
  c
d
e

报表区域:

abcdesum


有五个查询条件,即a,b,c,d,e
1、如果没有输入任何查询条件,就按sql1执行,报表的d,e列不显示数据,为空,
2、如果选择了d,就按照sql2执行。
3、如果选择了e,就按照sql3执行。
4、如果选择了d,e,就按照sql4执行。
请问可以实现么?

发表于 2014-6-26 17:13:55 | 显示全部楼层
可以,自定义action返回table就行了

评分

参与人数 1 +3 收起 理由
jishuang + 3 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

30

主题

120

帖子

177

积分

初级会员

Rank: 2

积分
177
 楼主| 发表于 2014-6-26 17:26:11 | 显示全部楼层
暗夜的忧伤 发表于 2014-6-26 17:13
可以,自定义action返回table就行了

但是sql返回的字段数量不一样,如果执行sql1,就不会返回d,e的值,在报表ds1.d或者ds1.e的时候会不会报错呢?
回复 支持 反对

使用道具 举报

发表于 2014-6-26 17:28:04 | 显示全部楼层
那你就多设几个report组件 ,根据条件显示不同的组件
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2014-6-27 09:40:10 | 显示全部楼层
可以实现,没有列就显示空
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

30

主题

120

帖子

177

积分

初级会员

Rank: 2

积分
177
 楼主| 发表于 2014-7-1 09:53:31 | 显示全部楼层
zhaixin 发表于 2014-6-27 09:40
可以实现,没有列就显示空

谢谢,动态拼接的sql,问题已解决,结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-16 04:23 , Processed in 0.059708 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表