+ -
当前位置:首页 → 问答吧 → 求一个行列转换的sql语句

求一个行列转换的sql语句

时间:2011-12-26

来源:互联网

有这么一个视图表
信息ID 所述栏目 所属部门 积分
  1 公告栏 部门a 1
  2 综合信息 部门b 2
  3 图片新闻 部门c 1
  4 公告栏 部门a 1
  5 图片新闻 部门a 1  
。。。。

用户要求列出每个部门的每个栏目积分表,也就是变成了这样

栏目名称 部门a 部门b 部门c 合计
公告栏 1 2 3 6
图片新闻 2 4 5 11
综合信息 4 3 1 8
。。。
合计 7 9 9 25

我想知道这能用一个sql列出来吗,如果能得话,如何列出来呀,对我来说太难了

 





 

作者: xiaoliuvv   发布时间: 2011-12-26

行转列,论坛上太多了,查一下一大堆.

作者: qianjin036a   发布时间: 2011-12-26

90度行转列 在加一个compute by

作者: q465897859   发布时间: 2011-12-26

我已经找到统计方法了,但我用的是asp编程,这个查询语句只能在查询分析器中运行,我如何做成视图?或者写成asp的语句???

DECLARE @s nvarchar(4000)
SET @s = ''
SELECT @s = @s + ',' + quotename([bumen_name]) 
+ '=sum(case when [bumen_name]=' + quotename([bumen_name], '''') 
+ ' then [jf] else 0 end)'
FROM jftj1
GROUP BY [bumen_name], [bumen_px]
ORDER BY [bumen_px] ASC 
EXEC ('select [lm_name] as 栏目' + @s + ',[总积分]=sum([jf]) from jftj1 group by [lm_name],[lm_px] order by [lm_px] asc')

作者: xiaoliuvv   发布时间: 2011-12-26

并且这条语句生成后,我如何调用字段名字呀???麻烦各位了,

作者: xiaoliuvv   发布时间: 2011-12-26