私はこれを理解しようとしている私の髪を引っ張っています。私は2つの別々の列(もともと同じ列にある)にINとOut StatusとDatetimeを表示するクエリを持っています。クエリは必要な方法で結果を返しますが、OUT日付が正しく表示されません。各IDには複数の入出力ステータスと時間があります。私は最後の24時間以内に最新の入退室時間が必要です。クエリはIn時刻を正しく返しますが、多くのOut時刻にはIn時刻より前の日付が表示されます。だから私が見なければならないのは、過去24時間以内のOUT時間と、ユーザーがチェックアウトしていない場合は空白にする必要があるということです。誰かがこれで私を助けてくれますか?以下のコードを参照してください。ステータスが最新の日付を表示
SELECT t1.ID, t1.FNAME, t1.InOut_Status AS Status_In, t1.Datetime AS
Datetime_IN, t2.InOut_Status AS Status_Out, t2.Datetime As Datetime_OUT
FROM table t1
LEFT JOIN table t2
ON t1.id = t2.id
AND t2.InOut_Status = 'OUT' AND t1.Datetime >= DATEADD(hour, -24,GETDATE())
WHERE t1.InOut_Status = 'IN'
[この](http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-をお読みくださいあなたの質問を改善するためのいくつかのヒントについては、パブリックフォーラムに参加してください)。適切なソフトウェア(MySQL、Oracle、DB2など)とバージョンの両方でデータベースの質問にタグを付けると便利です。 'sql-server-2014'です。構文と機能の相違は、しばしば答えに影響します。 – HABO