交叉表不确定列打印报表问题

kongkong2006 2004-08-11 04:26:38
成绩表cj在sql中的数据结构如下图所示:(不同学号的学生的课程可能不同,甚至课程科目数量都不同,因为是不同专业)

学号 课程名称 分数
1 语文 70
1 历史 80
1 英语 60
2 语文 66
2 物理 63
2 化学 77
2 数学 90
. . .
. . .
. . .


要求在vb中通过报表设计器输出成如下格式:

学号 语文 历史 英语
1 70 80 60

学号 语文 物理 化学 数学
2 66 63 77 90

我用了交叉表列不确定的那种方法,语句如下:

DECLARE @STRING VARCHAR(8000)
SET @STRING=''
SELECT @STRING=@STRING+',SUM(CASE WHEN 课程名称='''+课程名称+''' THEN 分数 ELSE 0 END) AS '+课程名称 FROM cj GROUP BY 课程名称
SELECT @STRING='SELECT 姓名'+@STRING+' FROM cj,xj where cj.学号=xj.学号 GROUP BY 姓名'
EXEC(@STRING)

但是怎么生成临时表并在dataenv中来打印这个临时表呢?
...全文
95 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgs666 2004-08-11
  • 打赏
  • 举报
回复

dataenv 没用过,是不是一个报表工具?
用ActiveReport可通过动态增加列来实现,dataenv 可能会有类似的方法.

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧