2012-04-26 9 views
2

初心者からの質問。列内の複数の範囲から一意の値を選択するTSQL

私は2つのテーブルを持っています。 1つ(A)はStart_time, End_time, Statusを含む。第2のもの(B)はTimestamp, Error_codeを含む。 2番目のテーブルは、システムによって数秒ごとに自動的に記録されるため、Error_codeの一意ではない値が多数含まれています(ランダムに変更されますが、テーブルAの時間範囲内で変更されます)。私が必要とするのは、テーブルAの各時間範囲の最初のテーブルから各時間範囲(私の場合はすべての行)のユニークなエラーコードを選択することです。

A.Start_time、A.End_time B.Error_code。私はこれに来ている

select A.Start_time, 
     A.End_time, 
     B.Error_code 
from B 
    inner join A 
    on B.Timestamp between A.Start_time and A.End_time 

これは間違っている、私は知っています。 ご迷惑をおかけしておりません。ツアークエリは重複の多くを与えた場合

答えて

5

それらを削除するには明確な使用:

select DISTINCT A.Start_time, A.End_time, B.Error_code 
from B 
inner join A on B.Timestamp between A.Start_time and A.End_time 
関連する問題