2017-03-09 25 views
0

嗨我想查詢一個SQL dbo,以獲得在20分鐘內打開(啓動後和預解決)多少「門票」創建當前行「票證」的窗口。SQL查詢,其中包含一個功能,將其他併發和活動門票作爲新列

目標表(其中4個項目是活躍從8:50到9:10):

SELECT Ticket_ID as ID, Created_Date as CreateDate, 
    Count( 
      WHERE 
      WorkItemType = 'Work Request' AND 
      IncidentStartTime <= (Created_Date minus 10 minutes) AND 
      IncidentResolvedTime > (Created_Date plus 10 minutes) 
    )as ConcurrentItems 

FROM CurrentView 

凡在COUNT的CREATED_DATE將是:

ID CreateDate   ConcurrentItems 
123 12/1/2016 09:00  4 

沿東西線相同的SELECT

+0

在此顯示樣品結果。 –

+0

嘿紅人有一個樣本,作爲「目標表」 –

+0

只是給出一個清晰的樣本數據和預期的結果。 –

回答

0

我建議outer apply

SELECT Ticket_ID as ID, Created_Date as CreateDate, x.ConcurrentItems 
FROM CurrentView v OUTER APPLY 
    (SELECT COUNT(*) as ConcurrentItems 
     FROM CurrentView v2 
     WHERE v2.WorkItemType = 'Work Request' AND 
      v2.IncidentStartTime <= DATEADD(minute, -10, v.Created_Date) AND 
      v2.IncidentResolvedTime > DATEADD(minute, 10, Created_Date) 
    ) x; 
+0

這與一對錯別字。謝謝戈登。 –

0

這將顯示計數與條件每CreatedDate:

select Created_Date, count(1) as ConcurrentItems from CurrentView 
where WorkItemType = 'Work Request' AND 
IncidentStartTime <= DATEADD(Minute, -10 CreateDate) AND 
IncidentResolvedTime > DATEADD(Minute, +10 CreateDate) group by Created_Date 

但是,這將顯示每個CreatedDate計數明確。

相關問題