webreport

博客园 首页 新随笔 联系 订阅 管理

有水位记录表,主要字段有,时间点,站点,水位

要求按时间段,得出指定的一个或者多个站点的水位表。

列头为具体的站点,根据查询的站点个数自动按列展开
行头为时间点

表格中为具体的每个站点每个时间点具体的水位值

数据库为Sqlserver

我想既然站点是做为条件输入的,就可以动态拼出这个sql了
sql如下:

select 时间点
, sum( case 站点字段 when '站点A' then 水位 else 0 end ) as '站点A'
, sum( case 站点字段 when '站点B' then 水位 else 0 end ) as '站点B'
, ......
from 水位表 group by 时间点

有多少个站点就动态拼出多个sum(....) as ,这样就可以一个语句解决了,不用做存储过程。如果不知道有那些具体的站点还是需要用存储过程来解决,一个sql解决不了。

posted on 2007-05-24 16:53  web报表  阅读(875)  评论(6编辑  收藏  举报