`

转一个:sql server 纵表转横表

 
阅读更多

演示如下:

1.建表:

create table tb
(
   Name    varchar(10) ,
   Subject varchar(10) ,
   Result  int
)

2.插入数据:
insert into tb(Name , Subject , Result) values('张三' , '语文' , 74)
insert into tb(Name , Subject , Result) values('张三' , '数学' , 83)
insert into tb(Name , Subject , Result) values('张三' , '物理' , 93)
insert into tb(Name , Subject , Result) values('李四' , '语文' , 74)
insert into tb(Name , Subject , Result) values('李四' , '数学' , 84)
insert into tb(Name , Subject , Result) values('李四' , '物理' , 94)

3.纵表转横表,静态方式:
select name 姓名,
  max(case subject when '语文' then result else 0 end) 语文,
  max(case subject when '数学' then result else 0 end) 数学,
  max(case subject when '物理' then result else 0 end) 物理
from tb
group by name
3.纵表转横表,动态方式:
declare @sql varchar(8000)
set @sql = 'select Name as ' + '姓名'
select @sql = @sql + ' , max(case Subject when ''' + Subject + ''' then Result else null end) [' + Subject + ']'
from (select distinct Subject from tb) as a
print(@sql)
set @sql = @sql + ' from tb group by name'
exec(@sql) 
--print(@sql)

分享到:
评论

相关推荐

    SQL SERVER数据库纵表转横表应用浅析.pdf

    SQL Server数据库中实现纵表转横表的方法有多种,本文旨在对这些方法进行总结分析,以期对同行业者在类似需求时提供一定的参考和帮助。 首先需要明确的是,纵表转横表的基本模型。以表1为例,纵表包含人员、回款、...

    SQL Server纵表与横表相互转换的方法

    总的来说,SQL Server中的纵表与横表转换是一个强大的工具,它能够帮助我们更好地管理和利用数据,提高数据的可读性和分析效率。无论是在报表设计、数据清洗还是复杂查询中,灵活运用这些转换技巧都能带来极大的便利...

    SqlServer mssql 交叉查询,横表变纵表

    sql server 交叉查询, 查询结果交叉表,横表变纵表

    SQL动态交叉表,希望对SQL程序员有帮助

    例如,将一个表自身连接,并用一个列的值作为另一列的分组依据。 4. **子查询和集合函数**:在动态交叉表的构建过程中,通常会用到子查询来获取所有可能的列值,然后将这些值传递给外层查询。集合函数(如UNION ALL...

    sqlserver语句大全

    "sqlserver语句大全"这个资源可能包含了SQL Server中的各种常用语句,包括但不限于数据导入导出、数据转换(如纵转横)等功能。下面将详细讲解这些知识点。 一、数据导入导出 在SQL Server中,数据的导入导出是...

    sqlserver中查询横表变竖表的sql语句简析

    首先是三张表, CNo对应的是课程,在这里我就粘贴了。   主表  人名表 ...但是这是横表 不是我想看到的结果。 我们要看到这样的结果: 那么怎么办呢?第一种写法: 代码如下: SELECT w.SName, sum

    Sqlserver2000经典脚本

    介绍就不多说了,下边是部分目录,觉得有用的话就顶一个 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整...

    企业报表横纵坐标转换的SQL实现功能

    1. **创建临时表**:首先,创建一个临时表`#temp`用于存储原始数据,并确保主键约束符合要求。 2. **数据插入**:将原始数据插入到临时表中。 3. **构建查询语句**:动态构建SQL查询语句,该查询语句将用于从临时表...

    sqlserver经典脚本大全.zip

    任意两个时间之间的星期几的次数-横 任意两个时间之间的星期几的次数-纵 复杂年月处理 统计--交叉表+日期+优先 3.2 各种字符串分拆处理函数 3.3 各种字符串合并处理示例 3.4.1 分段截取函数 3.4.2 分段更新函数 ...

    经典SQL脚本大全

    │ 统计一个表中某个字符出现最多的字母.sql │ 非法字符串处理.sql │ ├─第04章 │ │ 4.1.5 在各种处理中应用排序规则的示例.sql │ │ 4.2.1 排序规则在拼音处理中的应用.sql │ │ 4.2.2 排序规则在全角与...

    access2007教程

    1. **选择查询**:基础查询类型,用于从一个或多个表中选择满足特定条件的记录。 2. **联合查询**:将两个或更多表的数据合并到一起,可实现数据的横向合并或纵向合并。 3. **操作查询**:包括追加、更新和删除...

    工程案例二:学府家园小区物业管理系统.doc

    本系统设计案例提供了一个完整的物业管理系统设计和实现方案,旨在解决小区住户、房屋、公用设施等信息的管理和查询浏览问题。该系统具有简洁的界面、强大的功能、安全的性能和高效的运行效率,能够满足小区物业管理...

    2021-2022计算机二级等级考试试题及答案No.17344.docx

    - **知识点概述**:一个字节由 8 位二进制位组成,这是计算机中最基本的数据单位之一。 - **重要性**: - 用于衡量数据大小。 - 决定了计算机存储和处理数据的能力。 - **应用场景**:计算机存储器、网络传输等...

    智慧水务一体化监管平台建设方案.docx

    智慧水务一体化监管平台建设方案旨在打造一个高度集成、智能化的水务管理平台,该平台覆盖了从水源到用户的全过程监管,包括综合监管、智慧生产、管网管理、智慧营销以及智能决策等多个方面。本文将详细介绍该方案的...

    VC++ SuperReport 超级报表控件

    SuperReport 支持多种数据源,包括数据库(如SQL Server、Oracle、MySQL等)、ODBC数据源、甚至是XML文件。开发者可以通过简单的数据绑定机制,将报表与后台数据紧密关联,实时更新报表内容。 **3. 动态计算与公式...

    数据库数据用图表显示

    例如,`DataSource`属性应设置为你的数据源(可能是DataTable或DataView),`Series`表示图表上的数据系列,每个系列对应一个列。对于柱状图,`ChartType`应设置为`SeriesChartType.Column`。 为了显示数据库中的...

    C# 绘制常用统计图(柱状图, 折线图, 扇形图)的方法和源码

    这些图形都是动态生成的,数据来自 Sql Server 2000 数据库。 一、柱状图的绘制 柱状图是一种常用的统计图形,用于比较多个数据之间的差异。下面是绘制柱状图的步骤: 1. 定义绘图用到的类,包括 Bitmap、...

Global site tag (gtag.js) - Google Analytics