我有一組在一個週期發生的一次循環可以重複任務。現在,我首先要計算這些任務的事件和訂購這些,然後轉動產生的,以獲得一個臨時表中的下列結果:訂單日期/組任務的天數在一個週期
這個數據是一個週期集,從5日發生2016年12月於具有在每個週期5的任務,我想數據16 2016年12月(7天爲一個週期)被成羣像這樣:
我想不出如何從第一個數據集的最終結果。正如您在第一個數據集中可以看到的那樣,列中的日期順序可以像2016年9月12日至2016年8月12日之前一樣無序排列,但這些任務將始終發生在一個特定模式即'生態和印刷標籤'將始終在'庫存預覽'和'訂購和接收藥物'之後。
我可以隨時使用循環之類的東西,但如果有人能幫助我找到這個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'不斷重疊,或將在本示例任務5始終有一個日期早於同'FacName'接任務1? – 3N1GM4
如果你在表中有查詢1中的數據(你可以通過寫入#temp表,也可以使用WITH命令來完成),比如表中稱爲T--然後你可以從中選擇非空的普查行T - 您可以將CROSS APPLY添加到第一個匹配的非空循環下落中,用於empid – Cato
另外,我們是否應該假設只有一個記錄的日期值爲5個日期字段('Census','Cycle Drop「等)在每個」FacName「的每個週期內?因此,我們永遠不會看到兩個帶有'Census'的記錄,它們在同一個週期內具有相同'FacName'的日期? – 3N1GM4