• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 思想汇报
  • 发言讲话稿
  • 演讲稿
  • 申请书
  • 读后感
  • 报告材料
  • 策划方案
  • 当前位置: 写作资料库 > 策划方案 > 正文

    [跪求sql,server2012行转列方案] sqlserver使用教程

    时间:2018-08-15 16:39:49 来源:写作资料库 本文已影响 写作资料库手机站

    下面为表创建代码:

    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