私は.net開発者であり、基本的なCRUD以外のSQLはあまり実行していません。
SQLServer2005にテーブルがあります。
CREATE TABLE [dbo].[Cases](
[CasesID] [int] IDENTITY(1,1) NOT NULL,
[Enterprise_Date_Key] [int] NOT NULL,
[Interval_Num] [int] NOT NULL,
[QueueID] [int] NOT NULL,
[TotalCases] [int] NOT NULL,
次のようなデータを使用:
4609 3 0 12455 4532
4610 3 0 12452 7963
4625 3 1 12455 4542
4626 3 1 12452 7993
4627 3 2 12455 4552
4628 3 2 12452 7823
.
そして、私はクエリを実行します:
set @enterpriseDateKey = 3
select QueueID, interval_num, max(TotalCases)
from Case_Process_Status_Hourly_Fact a
where a.Enterprise_Date_Key = @enterpriseDateKey
group by QueueID,Interval_Num
結果は次のとおりです。
12452 0 4532
12455 0 7963
12452 1 4542
12455 1 7993
12452 2 4552
12455 3 7823
.
.
.
間隔が列(X軸)でQueueID
、行(Y軸)でグループ化されている場合に、データを異なる方法でグループ化するクエリについてサポートが必要です。そのような:
12452 4532 4542 4552 . .
12455 7963 7993 7823 . .
私は正直に言うと、望ましい結果を得るためにどちらの方向に進むべきかわかりません。データを取得するために複数のサブクエリを作成する必要があるのか、それとも別の方法でグループ化して目的の結果を取得する方法があるのかわかりません。どんなアドバイスも非常に役に立ちます。