2013-08-28 111 views
0

我有一個主表(tblVisit),每次訪問時有人標記下他們是否找到了具體的項目或行動點。查找表條目

例如,如果他們在任何12周內發現了3次健康和安全問題,我該如何編寫一個查詢來達到這個效果?

的數據是這樣的:

VisitID | DateServiceStart | VisitActivityRef | 
111 | 01/01/2013 | 1 
222 | 01/02/2013 | 1 
333 | 06/02/2013 | 2 
444 | 23/02/2013 | 1 
555 | 18/03/2013 | 2 

你的幫助非常感謝。

+0

怎樣的區別你知道健康和安全問題是什麼嗎?你是在尋找一個給定的12周時間,或者找到12周的時間,這可能是真的嗎? –

+0

VisitActivityRef鏈接到包含「健康和安全問題」的查找表。因此對於此示例,VisitActivityRef = 1是健康和安全 –

+0

。 。這很好。我認爲你應該用適當的信息來回答你的問題。您還可以包含樣本數據和您想要返回的結果。 –

回答

0

您可以使用LAG來獲取前行

在您的實例

所以,比較倒數第二個日期

LAG (DateServiceStart, 2, null) OVER 
    (PARTITION BY VisitActivityRef ORDER BY DateServiceStart) 

當前行日期,並找到利用DATEDIFF