当前位置:Gxlcms > 数据库问题 > MSSQL纵列转横列

MSSQL纵列转横列

时间:2021-07-01 10:21:17 帮助过:2人阅读

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

具体效果:

技术分享

MSSQL纵列转横列

标签:

人气教程排行