変更が必要な2つのテーブルを持つMySQLデータベースがあります。あなたはこれがhiglyで想像できるように 最初の表は、ノート2つのテーブルのデータを使ったMySQLの更新
id type note
1 1 24 months warranty
2 1 12 months warranty
3 2 Garage in Denver
4 3 Pre sales maintenance done
....
そして多くの車両テーブルを保持している車両テーブルとそのテキストにノートを保持するフィールドの代わりに、ポインタ
id licence_plate ... sales_notes ...
1 XH34DN ... <warranty>24 months warranty</warranty><garage>Garage in Denver</garage><maintenance>Pre sales maintenance done</maintenance> ...
2 K4B3C6 ... <warranty>12 months warranty</warranty><garage>Garage in Sacramento</garage><maintenance>Pre sales maintenance not done</maintenance> ...
を保持していますinneficientと私はメモのIDを保持するポインタに変更したい。
id licence_plate ... warranty_note garage_note maintenace_note ...
1 XH34DN ... 1 3 4 ...
2 K4B3C6 ... 2 7 12 ...
私はそれを手動で行うことはできますが、私はそれを自動的にタイプ別に作成したいと考えています。
notes.type = 1の場合、notes.noteテキストがveh.sales_notesにある場合は、vehicle.warranty_noteが更新されます。
どのようにそのようなものを構築するか?
私はこれを念頭に置いていますが、IDは機能しません。結果は更新されません
UPDATE tx_vehicle v, tx_note n
SET v.garage_note = n.uid
WHERE v.sales_notes LIKE ('%'+n.note+'%')
Georgeさんに感謝しますが、sales_notesの値は同じではなく、同じであるため、XML解析では検出されません。 そして私はあなたがノートテーブルに挿入しようとしていません、私は車両テーブルの構造を変更したいと思います。 – Niall
@ニオール私は私の答えにいくつかのメモを追加しました。正確な解決方法は、どのように似ているかによって異なります。文字の場合は、スペースを簡単に処理できます。一般的な略語、ミスタイプ、シンプルな同義語は、置換テーブルを介しても実行可能です。おそらく、プログラミング言語を使用して簡単に対処することができます。 –