別のデータベース列との類似性に基づいてデータベース列を更新は、私は、次の列を持つデータベーステーブル(顧客)を有する
をID
ENG_NAME
は、私がここで問題となっているCUSTOMERS
テーブル
からFULL_NAME
エントリとENG.ENG_NAME
エントリのすべてを交換したいです。
ENG_NAME
はウェブフォームを使用して手で詰まっており、一貫性がありません。たとえば、1行に「Robin Hood」が含まれている可能性があります。別の "フード、ロビンL"。もう一つの "Robin L Hood"。
CUSTOMERS
テーブルのエントリを検索し、一致するものを見つけてENG.ENG_NAME
をCUSTOMERS.FULL_NAME
に置き換えます。
例:これを行う方法について
ENG table
ID ENG_NAME
====================
1 Robin L Hood
2 Robin L Hood
3 Maid M Marion
4 Robert A Garza
任意の考え:上記のデータに基づいて
ENG table CUSTOMERS table
ID ENG_NAME ID FULL_NAME FIRST_NAME MIDDLE_INIT LAST_NAME
================ ==================================================================
1 Hood,Robin 1 Robin L Hood Robin L Hood
2 Rob Hood 2 Maid M Marion Maid M Marion
3 Marion M 3 Friar F Tuck Friar F Tuck
4 Rob Garza 4 Robert A Garza Robert A Garza
、私はENG_NAME
列は次のように交換する必要があるのでしょうか。 ありがとう
で最高の顧客テーブルにFK参照を持っているので、私は新しい列に入れてしまうが、これは文字列操作の非常に多くを取るために起こっていますSQL forte。あなたは、あなたの一致するロジックを含むようにUDFを作成することができますが、あなたはそれをSQLの外で行う方がよいでしょう。これは潜在的に非常に複雑なトピックで、マッチングルールに関して多くの考えが必要です。 [この10歳の記事](http://datamining.anu.edu.au/publications/2006/tr-cs-06-02.pdf)は、今後の課題をいくつか考えておくべきです。がんばろう! – strickt01
この種のクローズド・ネーム・マッチングは、右にいくのがほぼ不可能です。私にとって大きな疑問は、なぜこれを最初にやりたいのですか?適切にデータを正規化すると、名前のコピーが1つだけ必要になります。 –
あなたは何レコードについて話していますか?あなたはクエリでそれを刺す必要があるかもしれませんが、Excelへのエクスポートのいくつかのタイプを作成し、残りを手作業で行います。前述のように、SQLや他の言語を使用して正しく取得することは難しい作業です。レコードの数が限られている場合は、それが最善の策かもしれません。 – Igor