MSSQL纵列转横列

上篇我们说到了横列转纵列,下面就来说下纵列转横列

1.建表

CREATE TABLE [dbo].[EndLongChangeAcross](
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [Name] [NVARCHAR](50) NOT NULL,
    [Chinese] [INT] NOT NULL,
    [English] [INT] NOT NULL,
    [Math] [INT] NOT NULL,
 CONSTRAINT [PK_EndLongChangeAcross] PRIMARY KEY CLUSTERED
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[EndLongChangeAcross] ADD  CONSTRAINT [DF_EndLongChangeAcross_Chinese]  DEFAULT ((0)) FOR [Chinese]
GO

ALTER TABLE [dbo].[EndLongChangeAcross] ADD  CONSTRAINT [DF_EndLongChangeAcross_English]  DEFAULT ((0)) FOR [English]
GO

ALTER TABLE [dbo].[EndLongChangeAcross] ADD  CONSTRAINT [DF_EndLongChangeAcross_Math]  DEFAULT ((0)) FOR [Math]
GO

2.具体SQL

SELECT  Name ,
        ‘语文‘ AS ‘Subject‘,
        Chinese AS ‘Score‘
FROM    dbo.EndLongChangeAcross
UNION ALL
SELECT  Name ,
        ‘英语‘,
        English AS ‘Score‘
FROM    dbo.EndLongChangeAcross
UNION ALL
SELECT  Name ,
        ‘数学‘ ,
        Math AS ‘Score‘
FROM    dbo.EndLongChangeAcross
ORDER BY Name DESC

具体效果:

时间: 2024-10-12 23:20:47

MSSQL纵列转横列的相关文章

MSSQL横列转纵列

在工作中我们一般会遇到将横列转成纵列的需求,下面是横列转纵列的案例: 1.建表 CREATE TABLE [dbo].[AcrossChangeEndLong]( [Id] [INT] IDENTITY(1,1) NOT NULL, [Name] [NVARCHAR](50) NOT NULL, [Subject] [NVARCHAR](50) NOT NULL, [Score] [INT] NOT NULL, CONSTRAINT [PK_AcrossChangeEndLong] PRIMAR

CSS实现横列布局的方法总结

一.使用float实现横列布局的方法 如下面所示:DIV1和DIV2都可以选择向左或者向右浮动50%来实现展示在同一行 div1 div2 实现下面图片中布局的css样式如下: 分析: 1.第一行第一个图片和最后一个图片的左右边距是10px,中间图片的左右边距是5px.布局如下: <section class="active_div1"> <div> <img id="active_div11" src="">

MSSQL&mdash;按照某一列分组后取前N条记录

以前在开发的时候遇到过一个需求,就是要按照某一列进行分组后取前几条数据,今天又有同事碰到了,帮解决了之后顺便写一篇博客记录一下. 首先先建一个基础数据表,代码如下: IF OBJECT_ID(N'Test') IS NOT NULL    BEGIN        DROP TABLE Test    END CREATE TABLE Test(ID bigint IDENTITY(1,1),Name nvarchar(50),Department nvarchar(50)) INSERT IN

mssql 获取自增列起始及增量

1 --首先创建一个表 2 CREATE TABLE [dbo].[abcd]( 3 [id] [int] IDENTITY(3,4) NOT NULL, 4 [NAME] [varchar](50) NULL, 5 [remark] [varchar](200) NULL 6 ) ON [PRIMARY] 7 8 9 --获取起始值 10 SELECT IDENT_CURRENT('abcd')--起始值 11 --获取增量 12 SELECT IDENT_INCR('abcd') 13 --

mssql sqlserver 表增加列后,视图不会自动更新相关列的两种解决方法分享

摘要: 今天对物理数据表,进行增加列操作后,程序一直显示无法找到相应列,通过仔细比对发现,视图中无相应列更新,下文将具体的解决方法分享如下: 例: create view vw_test as select * from tableName go ---当我们在表tableName中新增列之,再次查询vw_test ---依然未发现相应列的存在. ----解决方法1:删除原视图,重新创建视图 drop view vw_test go create view vw_test as select *

SQL Server 重置Identity标识列的值(INT爆了)(转载)

一.背景 SQL Server数据库中表A中Id字段的定义是:[Id] [int] IDENTITY(1,1),随着数据的不断增长,Id值已经接近2147483647(int的取值范围为:-2 147 483 648 到 2 147 483 647)了,虽然已经对旧数据进行归档,但是这个表需要保留最近的1亿数据,有什么方法解决Id值就快爆的问题呢? 解决上面的问题有两个办法:一个是修改表结构,把Id的int数据类型修改为bigint:第二个是重置Id(Identity标识列)的值,使它重新增长.

四旋翼飞行器结构和原理

四旋翼飞行器结构和原理 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 前言:前年做电赛时留下的一套四旋翼飞行器如今只剩下四个旋翼和电机(不知道被谁给拆了,组装零件找不到了),趁着国庆几天假期,希望能够快速的将其重新DIY出来.其中控制和驱动板卡可以暂时先由面包板焊接出来,等验证成功能飞的起来时在重新设计集成电路板来实现整机. 旋翼的原理:升力的来龙去脉 这是空气动力学中的知识,研究的内容十分广泛,本文只关注通识理论,阐述对翼型升力和旋翼升力的原理. 翼

CodeVs 蛇形矩阵

题目链接:http://codevs.cn/problem/1160/ 题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和. 输入描述 Input Description n(即n行n列) 输出描述 Output Description n+1行,n行为组成的矩阵,最后一行为对角线数字之和 样例输入 Samp

UVA 439-Knight Moves(bfs)

Knight Moves Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Description A friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the shortest closed tour of knight moves that