这种报表在报表控件中就可以实现,不用复杂的SQL语句,做报表的时候按机构编号分组就可以解决了
解决方案 »
- 高分求SQL优化语句,解决即结贴
- 多表查询求助,急。
- 怎么写一个shell文件,按照条件删除2个表的数据,还要兼顾2个表的数据的整合性, 删除用的存储过程已经写好
- oracle多用户登录
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- exp/imp工具问题
- 求组一条SQL语句写法!!!
- oracle 里面限制某个用户不能更改表里面的某个字段的触发器该怎么写
- 特难,特别奇怪的oracle问题!!!!!
- Oracle 的 OracleStartORCL服务 无法启动,请前辈们帮帮忙。
- 关于PL/SQL中的cursor
- oracle初学者,请问哪里新建数据库啊在哪里把SQL脚本导入指定的数据库中
select 机构编号,公司编号,币种,金额
from tbname
order by 机构编号 desc;
我想过用报表工具,可现在要做的报表种类实在太多,要是我每个模板都去设计的话,几百种报表格式,我想这么短时间,我真要被累死。现在我是统一的把数据集取到dbgrid控件后,打印的格式就和数据集的格式一样打印出来。
难得就没有办法了吗,我现在采取的办法是通过现已机构编号为基准然后再已公司编号为准去拼接SQL语句,虽然可以达到我的目的,但是公司多的话,这个sql的长度就不可想想了。帮我想个好点的法子吧,好惨的。
select 机构编号,公司编号,币种,金额 from 表
union all
select 机构编号,'','',sum(金额 ) from 表
group by bcode
union all
select '所有机构','','',sum(HACCHU_TANI) from 表
)
order by 机构编号
这个break on 机构编号 skip 1东西怎么玩,sql语句当中好像不能有吧。
我是要把通过一个sql按着报表的格式取出来然后,到客户端的dbgrid中后,我就可以直接把报表打印出来。
SQL> compute sum of aaa on bbb
SQL> select bbb,aaa
2 from a3
3 order by bbb desc;BBB AAA
---------- ---------
eee 33.1
********** ---------
sum 33.1ddd 11.1
22.1
********** ---------
sum 33.2ccc 11.1
22.1
33.1
********** ---------
sum 66.3bbb 11.1
22.1
33.1
********** ---------
sum 66.3
BBB AAA
---------- ---------
aaa 11.1
22.1
33.1
********** ---------
sum 66.3
已选择12行。
是sqlplus提供的功能
除非你的报表通过它来生成 :)
那个机构编号在整个集合里面只出现一次,公司在每个机构编号组里面也只出现一次。如:
机构 公司 币种 金额
Z000001
GBOOOO1 usd 1000
hkd 2000
GB00002 cny 10000
GB00003 USD 13131
。。
B000001
GB00001 USD 1313
GB00011 CNY 1313
。
GB00011 JNY 1313
select 机构编号,公司编号,币种,金额 from 表
union all
select 机构编号,'','',sum(金额 ) from 表
group by bcode
union all
select '所有机构','','',sum(HACCHU_TANI) from 表
)
order by 机构编号OK??????????????????????/
需要借助第三方工具。
需要借助第三方工具。
(
select distinct 机构编号,NULL as 公司编号,NULL as 币种,NULL as 金额 from 表
union all
select 机构编号,公司编号,币种,金额 from 表
union all
select 机构编号,NULL as 公司编号,NULL as 币种,sum(金额 ) as 金额 from 表
group by 机构编号
union all
select NULL as 机构编号,NULL as 公司编号,NULL as 币种,sum(HACCHU_TANI) as 金额 from 表
) a
order by nvl(机构编号,'XXXXXXX'),nvl(公司编号,'XXXXXXX')
机构 公司 币种 金额
Z000001
GBOOOO1 usd 1000
GBOOOO1 hkd 2000
GB00002 cny 10000
GB00003 USD 13131
。。
B000001
GB00001 USD 1313
GB00011 CNY 1313
。
GB00011 JNY 1313
GBOOOO1 usd 1000
GBOOOO1 hkd 2000
GB00002 cny 10000
GB00003 USD 13131
。。
B000001
GB00001 USD 1313
GB00011 CNY 1313
。
GB00011 JNY 1313