水晶报表中纵向数据转变为横向数据的困惑!

wenle 2007-01-11 09:27:13
请问:下面的数据怎样转变啊!先谢谢啦!
数据库中查询出的数据是纵向的数据:
姓名 数量 月份
张小 123 2
张小 254 3
张小 452 4
张小 245 5
张小 521 6
.
.
.
李四 456 2
李四 855 3
李四 456 4
李四 456 5
李四 456 6

怎样可以转变成为横向的数据:

2月 3月 4月 5月 6月
张小 123 254 452 245 521
张三 147 254 235 258 256
李四 456 855 456 456 456



...全文
359 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjwen0057 2007-03-23
  • 打赏
  • 举报
回复
同意楼上的观点,学习中……
yjwenblue 2007-03-13
  • 打赏
  • 举报
回复
建议先写一个存储过程,然后建立一个临时表,然后把数据都列出来,然后显示出来
JavaK 2007-01-12
  • 打赏
  • 举报
回复
用水晶报表中的交叉,不过效果不好控制,建议在数据库中用Case When的方法处理成你一个这样的表再读出来:
Select [name],
sum((case when [month]=2 then [count] end) as '2月'),
sum((case when [month]=3 then [count] end) as '3月'),
...
from table1 where
...
group by [name]
如果你的报表是一个rpt文件,这部分你可以直接在在Crystal report的数据源中Command中写就可以了。

4,820

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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