私はこれらすべてに不慣れで、一般的にスクリプト/プログラミングを始めたばかりです。私は高低を検索し、いくつかのことを試しましたが、成功しませんでした。私がやろうとしていること
Table1
もっているColumn1
Table2
もっているColumn2
これらの列内にはファイルパスがあります。Column1
ファイルパスは\\\server1\folder\video1.avi
、
Column2
ファイルパスはhttp://server2/folder/video1.mpg
私がやろうとしているのは、ファイルの名前(この場合は)でクエリTable1
を実行して一致させることです。このファイル名は常に異なるため、文字列の一部を単独で検出するために何かが必要になります。一致したら、にあるものと完全に一致するように更新する必要があります。変更が行われ、プログラムの残りの部分の実行が終了すると、のすべてのデータが削除されますが、それでも永続的に変更する必要があり、古いファイルパスに戻さないでください。Table2
video1
Table1
Column1
Table2.Column2
Table2
Table1.Column1
助けてくれてありがとう!
編集:
データベースのファイル名は次のとおりです。
5149__20121030_120839.aviに変換されます。これは5149__20121030_120839.mpgに変換されます。任意の時点で、ファイル名の先頭は5100から5999の範囲になり、残りはランダムに変更されます。現在どのように設定していますか:
ファイル名を取得してcsvファイルに保存しています。そこから、このcsvファイルをにアップロードしていますTable2.Column2
。この時点で、ファイルパスの一部をクエリして、で一致するものを見つけることに固執していますTable1.Column1
。一致するものが1つ見つかりました。文字列全体を更新して、にあるTable1.Column1
ものと一致させようとしていTable2.Column2
ます。すべてのことを言い終えたらTable2.Column2
、移動したファイルをすべて削除し、翌日からやり直します。
私はあちこちを検索して、試すべきことがいくつか見つかりましたが、まだ運がありません。私が来た最も近いものはこれです:
UPDATE Table1
SET Table1.Column1 = Table2.Column2
FROM Table1
FULL JOIN Table2 ON Table2.Column2 like '%' + Table1.Column1 + '%'
ただし、これを実行するときは常に、にTable1.Column1
あるものを置き換えるのではなく、すべてをNULLに設定しますTable2.Column2
。これは、それが機能するかどうかを確認するための私のラボでの単なるテストであり、2つの異なるテーブル間で文字列の一部を一致させる方法についてはまだ調査を開始していませんでした。