大家好,我现在要做一个统计表
效果是这样的: slrq1                                  larq2             parq3       carq4     ysrq5
     当月 上年同期 今年累计 上年累计     当月 上年同期 今年累计 上年累计 (后面都一样)
 
杭州
金华
温州

合计
表字段如下:
 Diquid int,slrq1  date,larq2  varchar2,parq3  varchar2,carq4  varchar2, ysrq5  varchar2
例表信息:330683, 2002-10-24,20021213,20021213,20021213,20021213 如何得到向上面一样的统计表,怎样做效率最高呢?并且最后可以以EXCEL的格式输出呢?
如果直接在数据库中写,会拼很长的SQL,而且容易出错,在程序中又怕太效率太低。
谁能给个好点的解决方案,希望大家给点意见
  

解决方案 »

  1.   

    为什么在程序中就会效率低呢?我不理解。
    你直接用StringBuffer进行组装sql就行了。
      

  2.   

    直接在数据库中写,会拼很长的SQL,而且容易出错你在数据库sql语句测试对了 
    用的hibernate吗?hibernate可以执行原生sql
    就行啊 
      

  3.   

    程序效率低是可能因为关联表太多,或者表结构有问题,或者SQL没有得到优化
    建议写存储过程实现
    然后用job生成报表内容存在报表专用表中,需要时读出报表数据就可以了。
      

  4.   

    谢谢大家的回答,我在程序中是用hibernate,
    但是这个表是 单表多字段的。如果每次取一个字段的时间范围,处理的会很麻烦。
    那就需要取5次
      

  5.   

    jaspperReport,就知道这个。呵呵。
    另外写存储过程也不难的,网上搜索下,可以尝试下
      

  6.   

    按照 地名分组不就可以了吗,效率会低到哪里去?导出 excel,那方法不就更多。Googel下,你搜出一大堆。。