2015-10-05 41 views
2

我有一个表table1像下面一样。我想查找所有HStatus字段,即在两个L之间。上述标准的输出应为04/01/1505/01/1507/01/15。我该如何解决这个问题?如何比较访问查询中的行之间的值

Date   Status 
01/01/15  A 
02/01/15  H 
03/01/15  L 
04/01/15  H 
05/01/15  H 
06/01/15  L 
07/01/15  H 
08/01/15  L 

回答

0

我想你可以使用这样的查询:

SELECT 
    t.Date, t.Status 
FROM 
    yourTable AS t 
JOIN (
    SELECT MIN(Date) AS minDate, Max(Date) AS maxDate 
    FROM yourTable 
    WHERE Status = 'L') AS l 
ON t.Date >= l.minDate 
    AND t.Date <= l.maxDate 
    AND t.Status <> 'L'; 
+0

太好了!它工作,但它不能检测到另一个状态像'L'里面L和H .... –

+0

@FakhrulMahdi如果你想检测两种不同状态之间的状态这是另一个问题,你可以问另一个问题;)。 –