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