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
...就像课程表那样的报表。
姓名 日期 内容
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
...就像课程表那样的报表。
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这个存储过程
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这个存储过程