求个sql语句
数据表如下:
区域 时间 价格
华南 2007-1-1 100
华北 2007-5-2 2100
华东 2007-6-1 10002
华中 2007-3-1 1020
华南 2006-2-2 406
要求在页面中输出格式:
时间1 时间2 时间3
区域 价格 价格 价格
其中时间为动态的,用户可在前一页面选择,怎么写sql语句,和在页面中输出表
------解决方案--------------------select count(时间) from tab_name where (用户选择的时间段) '计算表格的数据列
select * from 表 group by 区域
然后判断每个区域的时间字段值应该出现在哪个列,有点啰嗦,我也做过类似的功能
------解决方案--------------------declare @sql varchar(1000)
set @sql= 'select 区域 , '
select @sql=@sql+ 'sum(case 時間 when ' ' '+時間+ ' ' 'then 價格 else 0) as '+時間+ ', '
from (select distinct 時間 from 數據表 where 條件) as t
select @sql=left(@sql,len(@sql)-1)+ 'from 數據表 '
exec(sql)
go
where 後面加你需要過濾時間的條件
------解决方案--------------------给一个例子参考一下:
TRANSFORM avg(Cj.成绩)
SELECT Cj.学号
FROM Cj
GROUP BY Cj.学号
PIVOT Cj.课程号;