2014-07-16 81 views
0

我遇到以下難題,我面臨以下挑戰。 由於某些原因,我無法完成這項工作,因爲我現在不知道如何根據需要提取數據。將日期與事件相關聯的事件與日期在SQL中

我有如下表:

Device ID event_id TransDate   SeqNo  DriverId Company Fleet_Code FirstName  LastName Employee_no ID_Tag 
433 110 14/07/2014 09:20 1695125191 Comp001 Test Test Pieter A Comp001  16A65C2C 
433 110 14/07/2014 10:04 1695160943 Comp001 Test Test Pieter A Comp001 16A65C2C 
433 111 14/07/2014 10:04 1695161098 Comp001 Test Test Pieter A Comp001 16A65C2C 
433 110 14/07/2014 11:00 1695206788 Comp002 Test Test Cornel B Comp002 16A5F51E 
433 111 14/07/2014 11:00 1695207085 Comp002 Test Test Cornel B Comp002 16A5F51E 
433 110 14/07/2014 12:27 1695281449 Comp004 Test Test Monique C Comp004 16A63878 
433 110 14/07/2014 12:27 1695281510 Comp005 Test Test Laura D Comp005 16A6C788 
433 111 14/07/2014 12:27 1695281635 Comp005 Test Test Laura D Comp005 16A6C788 
433 111 14/07/2014 12:27 1695281705 Comp004 Test Test Monique C Comp004 16A63878 
433 110 14/07/2014 13:24 1695329075 Comp003 Test Test Bonita E Comp003 16A62969 
433 110 14/07/2014 13:24 1695329133 Comp001 Test Test Pieter A Comp001 16A65C2C 
433 111 14/07/2014 13:25 1695329526 Comp003 Test Test Bonita E Comp003 16A62969 
433 111 14/07/2014 13:25 1695329582 Comp001 Test Test Pieter A Comp001 16A65C2C 

我試圖得到以下結果:旁邊的

event_id DateTime   event_id DateTime 
110  14/07/2014 09:20 111  14/07/2014 10:04 
110  14/07/2014 10:04 111  14/07/2014 10:04 
110  14/07/2014 11:00 111  14/07/2014 11:00 
110  14/07/2014 12:27 111  14/07/2014 12:27 
110  14/07/2014 12:27 111  14/07/2014 12:27 
110  14/07/2014 13:24 111  14/07/2014 13:25 
110  14/07/2014 13:24 111  14/07/2014 13:25 

我想提取的事件110與它的日期時間,然後事件111與日期時間,幾乎就像你會做一個時鐘進出情況。

我已經嘗試了幾個網站,但其中一些需要兩個表,我在空間上有限,我有非常大的表,並試圖使這項工作從視圖。

任何幫助或鏈接到類似的東西將不勝感激。

謝謝

回答

0

這聽起來像你希望每個110這裏後111型的一個事件是使用相關子查詢的方式:

select event_id, datetime, 111 as event_id, 
     (select top 1 datetime 
     from table t2 
     where t2.event_id = 111 and 
       t2.datetime > t.datetime 
     order by t2.datetime 
     ) as datetime 
from table t 
where event_id = 110;