我有两个数据表
   
  大组表:
  ----------------
   id  |  大组名称
  ----------------
    1  |  dz1
    2  |  dz2
    3  |  dz3
  ----------------  小组表:
  -----------------------
   id  | 小组名称 |大组号
  -----------------------
    1  |  xz1    |  1
    2  |  xz2    |  1
    3  |  xz3    |  1
    4  |  xz1    |  2
    5  |  xz2    |  2
    6  |  xz3    |  2
    7  |  xz1    |  3
    8  |  xz3    |  3
  -----------------------
我要实现下面样子的报表:  ---------------------------------------------
  大组名称 | 小组号 | 小组名称| 小组号 | 小组名称
  ---------------------------------------------
  dz1     |    1   |  xz1   |   2    |  xx2 
  ---------------------------------------------    
          |    3   |  xz3   |        | 
  --------------------------------------------- 
  dz2     |    1   |  xz1   |   2    |  xx2 
  ---------------------------------------------    
          |    3   |  xz1   |        |    
  --------------------------------------------- 
  dz3     |    1   |  xz1   |   3    |  xx3    
  --------------------------------------------- 

解决方案 »

  1.   

    这个问题对于Oracle数据库是可以解决的。SQLServeR没试过。
      

  2.   

    这个问题fastreport可以很好的解决
      

  3.   

    没用过这个报表
    但不可以先用sql联合起来再做报表吗?
      

  4.   

    主从表,然后把FR分列就行了就像edak() 所说的
      

  5.   

    这个问题的确经典!~另外,像hawksoft(明月清风)所说的,oracle数据库可以实现,那么是如何建立表呢?在表中又是如何定义键值呢?
      

  6.   

    oracle 中有一个函数 case 可以解决合并数据行为数据列
    在SQL中应该用 if (或别的函数)应该是可以实现的.
      

  7.   

    SQL也可以,但用fastreport 模板动态打印我不知道怎么做,我晚上给你贴一段存储过程。这叫交叉表,呵呵,听别人说的。
      

  8.   

    真的就没有人会用FastReport吗?
    http://community.csdn.net/Expert/topic/3075/3075900.xml?temp=.5961267
      

  9.   

    你下在一个FastReport开发指南(有中文版),上面有你解决问题的方法.下载地址我忘了