手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >跪求sql server2012行转列方案
跪求sql server2012行转列方案
摘要:下面为表创建代码:CREATETABLE[dbo].[ProductAuditRecord]([ParID][nchar](12)NOTNU...

下面为表创建代码:

CREATE TABLE [dbo].[ProductAuditRecord]([ParID] [nchar](12)

NOT NULL,[MOID] [nchar](12)

NOT NULL,[LotSN] [nvarchar](50)

NOT NULL,[CosmeticInspection] [nchar](12)

NOT NULL,[FunctionalTest] [nchar](12)

NOT NULL,[UNumber] [nchar](50)

NULL,[LeadWire] [nchar](50)

NULL,[ResourceID] [nchar](12)

NOT NULL,[UserID] [nchar](12)

NOT NULL,[Remark] [nvarchar](100)

NULL,[CreatDate] [datetime] NOT NULL,[ProductID] [nchar](12)

NOT NULL,[nextID] [int] NOT NULL, CONSTRAINT [PK_ProductAuditRecord] PRIMARY KEY CLUSTERED

([ParID] ASC)WITH

(PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,

IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,

ALLOW_PAGE_LOCKS = ON) ON [PRIMARY])

ON [PRIMARY]GOALTER TABLE [dbo].[ProductAuditRecord] ADD

CONSTRAINT [DF_ProductAuditRecord_ParID] DEFAULT

(substring(CONVERT([char](36),

newid(),(0)),(1),(12)))

FOR [ParID]GOALTER TABLE [dbo].

[ProductAuditRecord] ADD CONSTRAINT

[DF_ProductAuditRecord_nextID] DEFAULT

((0))

FOR [nextID]GO

下面为自己测试数据得到的结果:上面为原始数据,下面为转换后的数据:转换代码

测试表代码:CREATE TABLE [dbo].[Test](

[月份] [varchar](4) NULL,

[工资] [int] NULL,

[福利] [int] NULL,

[奖金] [int] NULL

) ON [PRIMARY]

1:月份 工资 福利 奖金

1月 100 200 300

2月 110 210 310

3月 120 220 320

4月 130 230 330

2:考核月份 1月 2月 3月 4月

福利 200 210 220 230

工资 100 110 120 130

奖金 300 310 320 330

SELECT * FROM

(

SELECT 考核月份,月份,金额 FROM

(SELECT 月份, 工资, 福利, 奖金 FROM Test) p

UNPIVOT

(金额 FOR 考核月份 IN (工资, 福利, 奖金))AS unpvt

) T

PIVOT

(MAX(金额) FOR 月份 in ([1月],[2月],[3月],[4月]))AS pt

【跪求sql server2012行转列方案】相关文章:

sql server2008 排序函数

sql server删除外键约束

Sql Server中的表访问方式Table Scan, Index Scan, Index Seek

sqlserver多版本查看版本号

sql server 综合总结

图文详解SQL Server 2008R2使用教程

Eclipse 连接 SQL Server 2012数据库

把CSV文件导入到SQL Server表中的方法

SQL Server 2005 镜像构建手册(sql2005数据库同步镜像方案)

sqlserver FOR XML PATH 语句的应用

精品推荐
分类导航