2016-08-12 8 views
0

SQL問合せに問題があります。ここでは、2つのテーブルがあります:SQL値が別のテーブルの任意の値に近いかどうかを確認します。

ID | Timestamp 
1 | 143 
2 | 429 

Timestamps_master 
150 
322 
539 

私が聞いてみたい質問は次のとおりです。最初のテーブルには多くのIDがtimestamps_masterのタイムスタンプの10秒以内のタイムスタンプを持っていますか。したがって、上記の設定では、1になるはずです。

sqlの外では、私はいくつかのループを実行しますが、sqlに相当するものはわかりません。

ありがとうございました!

+0

あなたはどのようなSQL Serverを使用していますか? –

+0

これは実際に私の会社のsqlの内部バージョンですが、SQL 2011標準に似ていますが、正確にはそうではありません...ソリューションのアイデアがあれば、私たちの特定の方言でそれを行う方法を見ることができます。 – user3325669

+0

使用するdbmsにタグを付けます。 (ANSI SQLのタイムスタンプは方法が異なります) – jarlh

答えて

3
select Id from tablename where(diff(Timestamps_master,Timestamp)<=10)or (diff(Timestamps_master,Timestamp)>=-10); 
+0

それはそうです - ありがとう! – user3325669

+0

ちょうど不思議なことですが、dbmsはこれが何ですか? – jarlh

0
SELECT t1.id, t1.timestamp 
FROM t1, t2 
WHERE t1.timestamp BETWEEN t2.time-10 and t2.time+10 
関連する問題