次のようなテーブルがあります。
logID eventID repID statusID logTime
174356 228985 107959 1 2013-05-03 09:25:41.000
174391 228985 107959 1 2013-05-03 10:06:33.000
174588 228985 107959 2 2013-05-03 14:59:51.000
出力を次のようにします
Date ClockIn ClockOut
05/03/2013 9:25:41 AM
05/03/2013 10:06:33 AM 2:59:51 PM
つまり、ステータスが 1 の場合は ClockIn に、2 の場合は ClockOut にある必要があります。
しかし、私は出力を次のように取得しています
Date ClockIn ClockOut
05/03/2013 9:25:41 AM 2:59:51 PM
05/03/2013 10:06:33 AM 2:59:51 PM
ステータスが2であるかのように確認しましたが、それがクロックインタイムよりも大きい場合は、クロックアウトタイムの下に表示する必要があります...
私のクエリ:
Select LTRIM(RIGHT(CONVERT(CHAR(20), rt.logTime, 22), 11)) as ClockIn,
LTRIM(RIGHT(CONVERT(CHAR(20), Min(rt1.logTime), 22), 11)) as ClockOut
from table1 rt
join table1 rt1 ON rt.repID = rt1.repID and rt1.statusID=2
AND CONVERT(nvarchar(25), rt.logTime,101) = CONVERT(nvarchar(25), rt1.logTime,101) AND rt.logTime<rt1.logTime
where rt.eventID='228985' and rt.repID='107959' and CONVERT(date, rt.logTime) = CONVERT(date, '05/03/2013')
group by rt.logTime, rt1.logTime
望ましい結果を得るにはどうすればよいですか........