2016-11-18 8 views
0

2つのテーブルを使用して結合を行い、今すぐ最も近い日付のレコードを1つ戻します。私は非常に実用的なSQLではないので、もし誰でも私がクエリを構成するのを助けることができます。ありがとうございました。DateTimeシニアステータスの単一のレコードを返す方法 - SQL Server

すべてのレコードの写真の下に、私はちょうど2つの列の間に、より大きな、今までに言及されたものに近いものを与えたものを戻すようにすべきです。あなたは、クエリの下に従うことができます

enter image description here

+0

これらのテーブルに対して期待した結果を追加できますか。詳細を追加plz –

+0

私はすべての列を保持し、下部のデータレコードから削除したいと思いますか? –

+0

これはあなたが探しているものですか? http://stackoverflow.com/questions/14023145/find-closest-date-in-sql-server または、今日よりも前の日付とそれ以降の日付を参照する必要がありますか? – Michael

答えて

1

SELECT * 
FROM (SELECT RGS_Id, r.RGS_DateTime, datediff(ss,r.RGS_DateTime,GETDATE()) diff_value 
    from RGS_Registrazione as r 
    JOIN RGA_Allarmi as a on r.RGS_MCC_Numero_Serie_MS = a.RGS_MCC_Numero_Serie_MS 
    GROUP BY RGS_Id, r.RGS_DateTime) T1 
ORDER BY diff_value 
LIMIT 1; 

が、これはあなたを助ける必要があります願っています。

+0

T-SQLでSELECT TOP 1を使用します。また、JOINのスペルが間違っています。 – Michael

+0

これはありがとうございます!私はトップ1を使いました、限界1は動作しませんが、解決してください! –

+0

'Limit'はSQL Serverでは動作しません。一番上のキーワードを使ってみてください。 –

1

以下のクエリを試してください。

  SELECT top 1 * 
      from RGS_Registrazione as r 
      join RGA_Allarmi as a on r.RGS_MCC_Numero_Serie_MS = a.RGS_MCC_Numero_Serie_MS 
      order by RGS_DateTime desc 

戻すレコードの数を指定するには、SELECT TOP句を使用します。 ORDER BYキーワードは、降順で結果セットの日付をソートするために使用されます。

ご質問がありましたらお知らせください。または懸念します。

関連する問題