私は、SQL Server 2005のピボット機能を初めて試しています。SQL Server 2005のピボットクエリのヘルプ
私は2つのテーブルdefects
とemployees
を持っています。私はemployee
テーブルの従業員のためのすべての欠陥を取得しようとしていると私は従業員のテーブルに入力されているもの以外の人に割り当てられた欠陥について気にしない(私はそれに参加すると思っている、私はまだサブクエリが必要だとは思わない)
結果をグループ化するには、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
)
を '[不具合ID] [浮動小数点] NULLは、そのテーブルの主キー(私はそれがあるはずだと思います)に最適な選択肢ではないようです.....なぜ**浮動**?なぜ** NULL **?なぜフィールド名のスペース???私はすべての場合に '[DefectID] INT NOT NULL IDENTITY(1,1)'を好むでしょう... –
Severityで結果をPIVOTしますか? (重大度の異なる値は結果セットの異なる列である必要があります)、または単に重大度別にGROUPしますか?また、[Fix data]列は表示されません。[FixDate] – Lamak
申し訳ありませんが、あなたの列名にスペースを埋め込むとすぐに、私は「これについては何もしません」と考えました。 –