1
我有兩個表。 (在MySQL中)用mysql中的JOIN語句更新多行
表'categoryimport'包含本地語言的類別名稱。
ID Category ID_category
1000001 Autoservisy NULL
1000002 Autoservisy NULL
1000002 Pneuservisy NULL
1000003 Autoservisy NULL
1000004 Autoservisy NULL
1000005 Autoservisy NULL
表'categorylang'也包含與其ID(ID_category字段)相同的本地語言的類別名稱。
ID_category EN CZ
100 Garages Autoservisy
101 Car bodywork Autoklempíři
102 Motor-vehicle electrics Autoelektrikáři
103 Car Dealers Auto-moto prodejci
110 Windscreen repair Opravy autoskel
111 Tire service Pneuservisy
所有我需要做的是基於categoryimport.Category = categorylang.CZ 'categorylang' 表到其相應的ID_category表 'categoryimport' 我試着插入ID_category:
UPDATE categoryimport JOIN categorylang
ON categoryimport.Category = categorylang.CZ SET categoryimport.ID_category = categorylang.ID_category
結果是:
ID Category ID_category
1000001 Autoservisy 100
1000002 Autoservisy **NULL**
1000002 Pneuservisy 111
1000003 Autoservisy 100
1000004 Autoservisy 100
1000005 Autoservisy 100
1000002的字段ID類別未更新。必須更新以及100的價值。只更新一個值1000002。
我需要以下結果:
ID Category ID_category
1000001 Autoservisy 100
1000002 Autoservisy **100**
1000002 Pneuservisy 111
1000003 Autoservisy 100
1000004 Autoservisy 100
1000005 Autoservisy 100
使用遊標將有可能解決這個問題,但我更喜歡一些簡單的SQL語句。謝謝您的幫助。
也許修剪類別列空間可能有問題。 – Mihai