SQL SERVER 2000 のエキスパートの皆様に質問です。
テーブルは 1 つしかありません...特定のフィールドの値のいずれかが別のレコードにも表示されているかどうかは、既に確認できます。
IE: フィールドに「ABCDEFGHI」があり、同じフィールドに「ABCDEFGHI」が含まれているレコードはありますか...ただし、別のレコードにあります。
しかし、部分文字列を使用しようとすると問題が発生します。
IE: フィールドに「CDEF」があり、同じフィールドに「DEFG」が含まれているレコードはありますか...ただし、別のレコードにあります。(編集:もちろん、それは一致しません。)
あるフィールドの一部を別のフィールドの一部と比較しようとしています。文字 3 ~ 6 の文字のみを、文字 4 ~ 7 と比較します。(両方のフィールドに対して、独自の開始範囲と終了範囲を指定する必要があります。) 特定の文字が何であるかは... 重要ではありません。それらが「一致する」というだけです。
これはうまくいかないようです:
SELECT t1.ID + ' + ' + t2.ID
FROM InfoTable As t1
INNER JOIN InfoTable AS t2 ON t1.ID = SUBSTRING(t2.ID, 3, 4)
(編集:自分自身に一致するレコードをリストする必要もありません。)