你的位置:首页 > 软件开发 > 数据库 > SQLServer处理行转列和列转行

SQLServer处理行转列和列转行

发布时间:2015-09-17 00:00:12
掌握SQL Server 行转列和列转行1、列转行 数据经过计算加工后会直接生成前端图表需要的数据源,但是程序里又需要把该数据经过列转行写入中间表中,下次再查询该数据时直接从中间表查询数据。1.1 列换行语法table_sourceUNPIVOT(value ...

掌握SQL Server 行转列和列转行

1、列转行

      数据经过计算加工后会直接生成前端图表需要的数据源,但是程序里又需要把该数据经过列转行写入中间表中,下次再查询该数据时直接从中间表查询数据。

1.1 列换行语法

SQLServer处理行转列和列转行
WITH TAS(  SELECT 1 as TeamId,'测试团队1' as Team,80 'MEN',20 'WOMEN'  UNION   SELECT 2 as TeamId,'测试团队2' as Team,30 'MEN',70 'WOMEN' )---列转行------------------------------------SELECT TeamId,Team ,TYPE=ATTRIBUTE,CNT=VALUEFROM T UNPIVOT ( VALUE FOR ATTRIBUTE IN ([MEN],[WOMEN])) AS UPV
SQLServer处理行转列和列转行

 

SQLServer处理行转列和列转行

2、 行转列

       行转列主要是从中间表里查询数据,SQL SERVER2005以下的版本则可以使用聚合函数来完成。

2.1 行转列语法

SQLServer处理行转列和列转行
WITH TAS( SELECT 1 AS ID,'测试团队1' TEAM,'MEN' ITEM,80 CENT UNION SELECT 1 AS ID,'测试团队1' TEAM,'WOMEN' ITEM,20 CENT UNION SELECT 2 AS ID,'测试团队2' TEAM,'MEN' ITEM,30 CENT UNION SELECT 2 AS ID,'测试团队2' TEAM,'WOMEN' ITEM,70 CENT)SELECT * FROM T PIVOT (SUM(CENT) FOR ITEM IN ([MEN],[WOMEN])) A
SQLServer处理行转列和列转行

2.3、使用聚合函数实现

SQLServer处理行转列和列转行

原标题:SQLServer处理行转列和列转行

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。