码迷,mamicode.com
首页 > 其他好文 > 详细

行转列示例3

时间:2017-12-16 17:12:33      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:with   not   efault   ons   tin   行转列   amp   default   ble   

USE [ExampleDb]
GO
/****** Object:  Table [dbo].[PivotDemo2]    Script Date: 2017/12/16 14:44:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[PivotDemo2](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [PDate] [nvarchar](50) NOT NULL CONSTRAINT [DF_ResultInfo_Date]  DEFAULT (‘‘),
    [PResult] [nvarchar](50) NOT NULL CONSTRAINT [DF_ResultInfo_Result]  DEFAULT (‘‘),
 CONSTRAINT [PK_ResultInfo] 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
SET IDENTITY_INSERT [dbo].[PivotDemo2] ON 

INSERT [dbo].[PivotDemo2] ([Id], [PDate], [PResult]) VALUES (1, N2017-10-10, N)
INSERT [dbo].[PivotDemo2] ([Id], [PDate], [PResult]) VALUES (2, N2017-10-10, N)
INSERT [dbo].[PivotDemo2] ([Id], [PDate], [PResult]) VALUES (3, N2017-10-10, N)
INSERT [dbo].[PivotDemo2] ([Id], [PDate], [PResult]) VALUES (4, N2017-10-10, N)
INSERT [dbo].[PivotDemo2] ([Id], [PDate], [PResult]) VALUES (5, N2017-10-11, N)
INSERT [dbo].[PivotDemo2] ([Id], [PDate], [PResult]) VALUES (6, N2017-10-11, N)
INSERT [dbo].[PivotDemo2] ([Id], [PDate], [PResult]) VALUES (7, N2017-10-11, N)
SET IDENTITY_INSERT [dbo].[PivotDemo2] OFF
--------------------------------------------------------------------------------------------------
select  [Id] ,
        [PDate] ,
        [PResult]
from    [ExampleDb].[dbo].[PivotDemo2];
--------------------------------------------------------------------------------------------------
select  tmp.PDate ,
        sum([]) 优 ,
        sum([]) 良
from    ( select    [PDate] ,
                    case PResult
                      when  then count(1)
                      else 0
                    end  ,
                    case PResult
                      when  then count(1)
                      else 0
                    end 
          from      [ExampleDb].[dbo].[PivotDemo2]
          group by  PDate ,
                    PResult
        ) tmp
group by tmp.PDate;
--------------------------------------------------------------------------------------------------                                                              
select  cctable.PDate ,
        sum(cctable.优)  ,
        sum(cctable.良) 
from    ( select    ctable.PDate ,
                    case ctable.PResult
                      when  then ctable.rum
                      else 0
                    end  ,
                    case ctable.PResult
                      when  then ctable.rum
                      else 0
                    end 
          from      ( select    case a.PResult
                                  when  then 
                                  else 
                                end as PResult ,
                                count(a.PResult) rum ,
                                a.PDate
                      from      ExampleDb.[dbo].[PivotDemo2] a with ( nolock )
                      group by  a.PDate ,
                                a.PResult
                    ) ctable
        ) cctable
group by cctable.PDate;
--------------------------------------------------------------------------------------------------

 

行转列示例3

标签:with   not   efault   ons   tin   行转列   amp   default   ble   

原文地址:http://www.cnblogs.com/huruiyi/p/8046756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!