2010-07-14 35 views
0

我有這樣的數據。以下是樣本數據。從日期差異表中獲取記錄

alt text http://a.imageshack.us/img695/441/custoemrids.png

我想所有那些具有在調查dateCreated會2小時日期差異CustomerIDs。

例如CustomerId 10602有3個查詢。如果這三個查詢中的任何一個的時差都是2小時,那麼這個CustomerId應該在我的結果集中。其他客戶也一樣。

感謝

+1

我不完全理解你的問題。你能告訴我們你的預期結果嗎? – northpole 2010-07-14 14:25:49

+0

DateCreated與2小時「不同」是什麼? (如果當前日期/時間,看起來像所有樣本數據將被選中。) – 2010-07-14 14:27:30

+0

您是否試圖檢索DateCreated值在當前時間的2小時內的所有行?針對你想比較DateCreated值的內容? – Thomas 2010-07-14 14:27:55

回答

0

這假設EnquiryId是表的PK。我也推測你想要在之內計數兩個小時。

Select Distinct T1.CustomerId 
From Table As T1 
Where Exists (
       Select 1 
       From Table As T2 
       Where T2.CustomerId = T1.CustomerId 
        And T2.EnquiryId <> T1.EnquiryId 
        And Abs(DateDiff(hh, T1.DateCreated, T2.DateCreated)) <= 2 
       ) 
+0

@Ardman - 是的。修正了我的帖子,而不是通過評論。 – Thomas 2010-07-14 14:42:56

+0

謝謝@Thomas的答案。 – Kashif 2010-07-14 14:44:03

0
SELECT [CustomerId] 
    FROM [Table] 
WHERE [DateCreated] >= DATEADD(hour, -2, GETDATE()) 
    AND [CustomerId] = xxx; 
+0

感謝您的回答。差異應該在同一客戶的查詢中,而不是當前日期。 – Kashif 2010-07-14 14:37:15

+0

啊,你想要托馬斯的答案。 :o) – 2010-07-14 14:38:38

+0

@Ardman謝謝你的回答。你的回答是正確的,我的問題是模棱兩可的。 – Kashif 2010-07-14 14:49:13