从日期差异表中获取记录

时间:2010-07-14 14:21:00

标签: sql sql-server-2005 tsql

我有这样的数据。以下是样本数据。

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

我希望在DateCreated of Inquiry中获得所有那些日期差异为2小时的CustomerID。

例如,CustomerId 10602有3个查询。如果这三个查询中的任何一个的时差为2小时,那么此CustomerId应该在我的结果集中。其他客户也一样。

由于

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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
               )