サイクルに1回発生する一連のタスクがあり、サイクルを繰り返すことができます。今、最初のiは、一時テーブルでは、次の結果を得るために、これらのタスクの発生を計算し、これらを注文して、その結果をピボットする必要がありました:日時を指定する/サイクル内の日数でグループ化するタスク
このデータは、5日から発生する周期設定のためのものです2016年12月16日(7日サイクル)に2016年12月、各サイクルで5タスクを持つと私は、データがそうのように凝集させたい:
私は最初のデータセットから最終的な結果を取得する方法を考えてカント。最初のデータセットに表示されているように、列の日付の順序は、7-12-2016/8-12-2016より前の9-12-2016のように順序が変わる可能性がありますが、タスクは常に1つの特定のパターン、すなわち「Ecs and print label」は常に「在庫プレビュー」と「注文して薬を受け取る」の後に来ます。
私はいつもルーピングやものを使うことができますが、誰かが私にこのIDのための適切なクエリを見つけるのを助けることができれば本当に感謝します。ここで
は、上に示したデータを作成するために、いくつかのサンプルコードです:
CREATE TABLE tasks (
CurrentOccurrenceDate DATETIME,
TaskID INT,
EmpID INT,
FacName VARCHAR(50),
Census DATETIME,
[Cycle Drop] DATETIME,
[ECS and Print Label] DATETIME,
[Inventory Preview] DATETIME,
[Order and Receive Meds] DATETIME
)
INSERT INTO tasks (CurrentOccurrenceDate, TaskID, EmpID, FacName, Census, [Cycle Drop], [ECS and Print Label], [Inventory Preview], [Order and Receive Meds]) VALUES
('2016-12-05', 1, 1, '75TH TERRACE', '2016-12-05', NULL, NULL, NULL, NULL),
('2016-12-06', 2, 1, '75TH TERRACE', NULL, '2016-12-06', NULL, NULL, NULL),
('2016-12-07', 3, 1, '75TH TERRACE', NULL, NULL, NULL, '2016-12-07', NULL),
('2016-12-08', 4, 1, '75TH TERRACE', NULL, NULL, NULL, NULL, '2016-12-08'),
('2016-12-09', 5, 1, '75TH TERRACE', NULL, NULL, '2016-12-09', NULL, NULL),
('2016-12-12', 1, 1, '75TH TERRACE', '2016-12-12', NULL, NULL, NULL, NULL),
('2016-12-13', 2, 1, '75TH TERRACE', NULL, '2016-12-13', NULL, NULL, NULL),
('2016-12-14', 3, 1, '75TH TERRACE', NULL, NULL, NULL, '2016-12-14', NULL),
('2016-12-15', 4, 1, '75TH TERRACE', NULL, NULL, NULL, NULL, '2016-12-15'),
('2016-12-16', 5, 1, '75TH TERRACE', NULL, NULL, '2016-12-16', NULL, NULL)
同じ「FacName」のタスクの2サイクルが重複するか、この例のタスク5は常に同じ「FacName」の次のタスク1よりも前の日付を持ちますか? – 3N1GM4
テーブル内のクエリ1にデータがある場合(#tempテーブルに書き込むことで可能ですが、WITHコマンドを使用して実行することもできます)、テーブルがTと呼ばれていれば、ヌル以外の国勢調査の行を選択できますT - あなたは、郵便番号 – Cato
の最初の一致した非ヌル・サイクル・ドロップにCROSS APPLYを適用することもできます。また、5つの日付フィールドのそれぞれに日付値を持つレコードが1つしかないと仮定する( 'Census'、' Cycle Drop'など)をそれぞれの 'FacName'のための各サイクル内で使用しますか?だから同じ周期内に同じ「FacName」を持つ日付で人口統計が設定された2つのレコードは見られないでしょうか? – 3N1GM4