私の問題で誰かが私のために光を放つことができると思っていました。SQLでファジーな結合
は、私はいくつかの列
QWWERTY20
QAZWSXEDCR20
QAZWSXED1240
のために、表2に、いくつかの列の表1にSQLで一緒に
QWERTY10
QAZWSXEDCR10
QAZWSXED1230
値を
値を次の2つの表を結合できるようにする必要があります必要な結果は、
QWERTY100000 QWERTY200000
QAZWSXEDCR10 QAZWSXEDCR20
QAZWSXED1230 QAZWSXED1240
QWERTY10000をQWERTY20000にリンクするには、フィールド の値の最初の6文字を結合する必要がありますが、QAZWSXEDCR10をQAZWSXEDCR20にリンクするには、最初の10文字を結合する必要がありますフィールド内の値私が最初の6文字だけを結合すると、私は重複を取得します。
QAZWSXEDCR10 QAZWSXEDCR20
QAZWSXEDCR10 QAZWSXED1240
QAZWSXED1230 QAZWSXEDCR20
QAZWSXED1230 QAZWSXED1240
をし、私はまた、QAZWSXED1240
にリンクするQAZWSXED1230
を必要とし、そこに私はそれを動作させるために8つの文字に参加する実行する必要があります。私はこのようになめらかになります。
私のデータを一緒に結合する方法を理解するのは難しいです。異なる文字数に基づいて10種類の結合を行うのを避けたいと思います。 たとえば、最初に6文字の結合を行い、成功しなかった場合は、7,8,9、および10の結合を行います。 - 別の方法が必要です...
誰かが解決策をお勧めしますか?または特殊文字該当する場合 -
KR Milneyさんのコメントで述べたように
それは常に文字ですか? PatIndexを使用して最初の数字の場所を見つけ出し、部分文字列を使ってその文字まで結合できますか?今は忙しいですが、昼食で試してみることができます – Milney
それは文字、数字、まれに若干の特殊文字でもあります 私はあなたの返信をお待ちしております thx – Kris
私は@Milneyが求めていたことは、 *は一致してはならない文字の型。つまり、文字部分を一致させたいだけですが、数値ではないか、または数値/特殊文字が一致する必要がありますか? – Alex