A表:
姓名 日期 内容
A     12  AAAAA
B     30  BBBBB
B     15  CCCCC
C     10  CCCCC
C     20  AAAAA
......用QUICKREPORT生成如下报表:
    日期
姓名     ... 10    ... 12    ... 15    ... 20   ... 30
A                      AAAAA
B                                CCCCC              BBBBB
C            CCCCC                         AAAAA
...就像课程表那样的报表。

解决方案 »

  1.   

    写个存储过程:
    create procedure sp
    as
    declare @sql varchar(3000)
    set @sql=''
    set @sql='select 姓名'
    select @sql=@sql+',min(case 日期 when '''+日期+''' then 内容 end)['+日期+']'
    from (select distinct 日期=cast(日期 as varchar(30)) from test)a
    set @sql=@sql+' from test group by 姓名'
    exec(@sql)然后再来一个adoprocedure控件调用sp这个存储过程
      

  2.   

    写个存储过程:
    create procedure sp
    as
    declare @sql varchar(3000)
    set @sql=''
    set @sql='select 姓名'
    select @sql=@sql+',min(case 日期 when '''+日期+''' then 内容 end)['+日期+']'
    from (select distinct 日期=cast(日期 as varchar(30)) from test)a
    set @sql=@sql+' from test group by 姓名'
    exec(@sql)然后再来一个adoprocedure控件调用sp这个存储过程