-1

候補者のトレーニング コースの開始日と終了日を含むテーブルがあり、テーブルを移動して、候補者の以前の記録の終了日が現在の記録の開始日より前でないことを確認する必要があります。

つまり、候補者のトレーニング レコードが重複していないことを確認する必要があり、重複している場合は、悪いレコードを別のテーブルに送信できるようにする必要があります。

すべての終了日が次のレコードの開始日より後であるため、すべての日付が正しくない例をここに追加しました。

while ループとカーソルを試してみましたが、あるレコードの値を保存し、次のレコードに移動して比較する方法がわかりません。ありがとう。

PERS_ID PERS_TYPE_SD    PERS_TYPE_ED
6444    2006-08-01 00:00:00.000 2018-07-29 00:00:00.000
6444    2009-08-01 00:00:00.000 2012-07-31 00:00:00.000
6444    2007-08-01 00:00:00.000 2009-07-31 00:00:00.000
4

1 に答える 1

1
select t1.*, t2.*
from table as t1 
join table as t2 
  on t2.PERS_TYPE_SD > t1.PERS_TYPE_SD 
 and t2.PERS_TYPE_SD < t1.PERS_TYPE_ED 
 and t1.PERS_ID < t2.PERS_ID  
order by  t1.PERS_ID, t2.PERS_ID
于 2013-04-15T00:49:44.477 に答える