2010-11-29 93 views
0

我第一次尝试了SQL Server 2005中的透视函数,并运行到获取我期望的结果集的墙上。SQL Server 2005数据透视查询帮助

我有两个表defectsemployees。我试图让我的employee表中的员工发现所有缺陷,我不在乎分配给在员工表中输入的人员的任何缺陷(我正在考虑加入它,但我没有尝试子查询尚未认为我需要)

我想得到的结果按(pivoted)defects.severity字段。我想在结果集中的领域是:severity, assigned to, employee.name, fix data

基本上我想根据缺陷

这里严重级别根据病情轻重卷起数据并显示计数是我的表:

CREATE TABLE [dbo].[Employees] 
(
    [EmployeeId] [int] NOT NULL, 
    [ManagerId] [int] NULL, 
    [NTID] [nvarchar](50) NOT NULL, 
    [FirstName] [nvarchar](50) NOT NULL, 
    [LastName] [nvarchar](50) NOT NULL, 
    [FullName] [nvarchar](100) NOT NULL, 
    [ReportingGroup] [nchar](10) NOT NULL, 
    [Added] [datetime] NOT NULL, 
    [LastUpdate] [datetime] NOT NULL, 
    [UpdateBy] [nvarchar](50) NOT NULL 
) 

CREATE TABLE [dbo].[defects] 
(
    [Defect ID] [float] NULL, 
    [SubSystem] [nvarchar](255) NULL, 
    [Status] [nvarchar](255) NULL, 
    [Severity] [nvarchar](255) NULL, 
    [FixDate] [nvarchar](255) NULL, 
    [Assigned To] [nvarchar](255) NULL, 
    [Summary] [nvarchar](255) NULL, 
    [Product List] [nvarchar](255) NULL, 
    [Development Type] [nvarchar](255) NULL, 
    [Defect Category] [nvarchar](255) NULL, 
    [Defect Cause] [nvarchar](255) NULL, 
    [Est Ready for Retest] [nvarchar](255) NULL, 
    [Fix Stage] [nvarchar](255) NULL, 
    [Planned Fix in Deployment Event] [nvarchar](255) NULL, 
    [Planned Fix in Event Mgmt Group] [nvarchar](255) NULL, 
    [Est Fixed Date] [nvarchar](255) NULL, 
    [Other Owner] [nvarchar](255) NULL 
) 
+1

`[缺陷ID] [浮点] NULL似乎不是主键(我认为它应该是)的最佳选择.....为什么** float ** ??为什么** NULL **?为什么在字段名称空间???我宁愿在所有情况下都使用[[DefectID] INT NOT NULL IDENTITY(1,1)`...) – 2010-11-29 16:00:05

+0

您是否希望在严重性上将您的结果排除在外? (如严重性的不同值应该是结果集的不同列),还是仅仅想按严重性GROUP?。此外,我没有看到[修复数据]列,只是[FixDate] – Lamak 2010-11-29 16:10:02

回答

0

我这个SQL得到它:

select [Assigned To], [1-Urgent],[2-High],[3-Medium],[4-Low] 
from (select [assigned to],[Business Severity] from defects where [assigned to] is not null) D 
pivot 
(count([Business Severity]) for [Business Severity] in ([1-Urgent],[2-High],[3-Medium],[4-Low])) V 

感谢所有