如何选择交替列值

时间:2013-05-19 14:52:56

标签: sql-server tsql alternating

我列出了数据ORDER BY DCREPORTTIME

我的问题是我需要选择交替的行(ALARMSET / ALARMCLEARED)。

请参考下面的图片... TQ~

** RED - 无需选择。

shift     | LOCATIONNAME       | CALARMSTATE      | DCREPORTTIME
--------- ----------------------------------------------------------    
5/15/2013 | MYQ01_CTES_A_LTS   | **AlarmSet**     | 11:12:26
5/15/2013 | MYQ01_CTES_A_LTS   | **AlarmCleared** | 11:12:26
5/15/2013 | MYQ01_CTES_A_LTS 5 | AlarmCleared     | 11:12:53
5/15/2013 | MYQ01_CTES_A_LTS 5 | AlarmSet         | 14:57:38
5/15/2013 | MYQ01_CTES_A_LTS 5 | AlarmSet         | 14:57:43
5/15/2013 | MYQ01_CTES_A_LTS 5 | AlarmCleared     | 14:57:43

Example data : HERE!

1 个答案:

答案 0 :(得分:0)

试试这个: -

 Select  a.shift,a.LOCATIONNAME,a.DCREPORTTIME,a.CALARMSTATE
 from yourTable a
 inner join yourTable b
 on  a.CALARMSTATE <> b.CALARMSTATE and a.LOCATIONNAME=b.LOCATIONNAME
 and a.DCREPORTTIME= b.DCREPORTTIME

SQL FIDDLE

中的演示