SQL Server 2008を使用しています。ここに2つのテーブルがあります。参照テーブルのデータ照合と挿入のためのストアドプロシージャ
shades_table color_name category location Aqua Blue House A Denim Blue House B Azure Blue House B Zaffre Blue House A Scarlet Red House C Ruby Red House D Chili Red House D Crimson Red House A objects_table object_name color_cat location2 Super Aqua shoes Null Null Azure wallet Null Null Awesome Scarlet chair Null Null Ruby socks Null Null Sparkly Denim chalk Null Null Chili paper Null Null Zaffre vase Null Null Sharp Crimson eraser Null Null Crimson watch Null Null Excellent Scarlet bucket Null
私は参照テーブルshades_tableを持っています。列にはcolor_nameが含まれ、他の列には色のカテゴリが含まれます。
私はobjects_tableに取り組んでいます。 object_name列には色名が含まれています。プロシージャ/プログラムで、color_nameをObject_nameに自動的に一致させ、color_cat列のNull値を更新する必要があります。
私の現在の方法は、shades_tableをcsvファイルにエクスポートすることです。このメソッドは動作しますが、それは愚かだ、厄介
UPDATE objects_table SET color_cat='Blue', location2 = 'House A' WHERE object_name LIKE '%Aqua%' AND color_cat IS NULL UPDATE objects_table SET color_cat='Blue', location2 = 'House B' WHERE object_name LIKE '%Denim%' AND color_cat IS NULL UPDATE objects_table SET color_cat='Blue', location2 = 'House B' WHERE object_name LIKE '%Azure%' AND color_cat IS NULL etc...
:それから私は、サーバーで実行されるSQLファイルへのJavaのCSVファイルを読み込み、プログラム、および出力を書きました。 私はちょうど私が欲しいことをすることができるSQL文を書く方法を知らない。
更新: 私もマッチしたい余分な列を追加しました(Javaプログラムの出力を参照してください)。 2 SETのUPDATE文は機能しません。 例
update o set o.color_cat = s.category, set o.location2 = s.location ...
は は、「『設定』キーワードの近くに不正な構文を与え、動作しません。
[OK]を、私は正しい構文が セットa.color_cat = b.category、 a.location2を更新する必要があります知りませんでした= b.location ....私は2回目のSETをタイプするべきではありません。ありがとう、Unnikrishnan R、あなたは最初に答えました。 –