Sql Server 2000 行转列的实现(横排)

2016-02-19 10:49 58 1 收藏

今天图老师小编给大家展示的是Sql Server 2000 行转列的实现(横排),精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】

我们用到的表结构如下:

stu

sub

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

score

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)三张表的关系为:

r.pg

现有的测试数据为:

s

ss

t

我们需要的结果是:

r
代码如下:

DECLARE @strSQL VARCHAR(8000)
SET @strSQL = 'SELECT t.STUNAME [姓名]'
SELECT @strSQL = @strSQL + ',SUM(CASE s.SNAME WHEN ''' + SNAME + ''' THEN g.[Score] END) [' + SNAME + ']' FROM (SELECT SNAME FROM [Subject]) AS tmp
SELECT @strSQL = @strSQL + ' FROM [Score] g,[Subject] s, [Student] t WHERE g.SID=s.SID AND g.STUID = t.STUID GROUP BY t.STUID, t.STUNAME'
EXEC(@strSQL)

SQL SERVER 2005 中,已经有实现此功能的内置方法了。

来源:https://www.tulaoshi.com/n/20160219/1595864.html

延伸阅读
SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT 系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 则较专注于SQL Server在...
标签: SQLServer
  问:怎样才能将XML文件导入SQL Server 2000? 答:将XML文件导入SQL Server有若干种方法,这里提供其中的3种: 大容量装载COM接口。如果需要将文档的实体和属性析取到关系表中,最快的方法就是使用SQL Server 2000 Extensible Markup Language 3.0 Service Pack 1(SQLXML 3.0 SP1)提供的大容量装载COM接口。大容量状态COM接口包含...
标签: SQLServer
SQL Server 2000的安全配置在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类...
社区里有人提问一个行转列的应用,在SQLServer中都是用Case的,我随便答了一下,由于是非固定行,有网友给我发消息问怎么实现,详细来说一下。 相关联接 http://community.csdn.net/Expert/topic/3417/3417326.xml?temp=.8530084 Answer: 表 F1      F2 jack  &nb...
一、ADO简介 ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,不仅简单易用,并且不失灵活性.不失为C++利用数据库快速开发的不错选择。 理论就不用我在这儿费话了,网上有很多,但光是理论,也不是不够的,ADO访问数据的方法很灵活,轻易让人混淆.网上大部分的实例都是基...

经验教程

922

收藏

29
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部