2016-09-01 9 views
0

私は2つのデータセットAとBを持っています。どちらのデータセットでも、 "キャンペーン"というカラムがあります。たとえば、Aではキャンペーンは「CDE-332 Blabla」と呼ばれ、Bでは同じキャンペーンが「FGI-332 Bleh Bleh」と呼ばれます。もう1つのキャンペーンは、Aの「CDE-345 Blabla」とBの「FGI-345 Bleh Bleh」です。基本的に、行を接続するのは各データセットの3桁です。mysql:カラム値を別のテーブルのカラムの値に置き換えます。

私の質問になります:Aで置き換えてBで見られるキャンペーンにマッチする3桁の数字がある方法はありますか?ありがとう!

+1

を更新する列値の同じ場所で常に3桁の数字はありますか? – Barmar

+0

残念ながら、それらはそうではありません。 –

+0

OK、私は3桁の前に '-'を見つけるために' LOCATE'を使う答えを変更しました。 – Barmar

答えて

1

は、結合条件としてSUBSTR()を使用して2つのテーブルを結合した後、表A

UPDATE TableA AS a 
JOIN TableB AS b 
ON SUBSTR(a.campaign, LOCATE(a.campaign, '-')+1, 3) = SUBSTR(b.campaign, LOCATE(b.campaign, '-')+1, 3) 
SET a.campaign = b.campaign 
関連する問題