Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL:从另一个表更新表_Mysql_Sql_Sql Update - Fatal编程技术网

Mysql SQL:从另一个表更新表

Mysql SQL:从另一个表更新表,mysql,sql,sql-update,Mysql,Sql,Sql Update,我有两个表(带有示例数据): tblZone [ZoneNo] [Zone] -----1------Zone1 -----2------Zone2 -----3------Zone3 tblPointsClient [PolygonID] [Zone Name] -----0------------Zone1 -----0------------Zone1 -----0------------Zone1 -----0------------Zone2 -----0-----------

我有两个表(带有示例数据):

tblZone

[ZoneNo]  [Zone]

-----1------Zone1
-----2------Zone2
-----3------Zone3
tblPointsClient

[PolygonID] [Zone Name]

-----0------------Zone1
-----0------------Zone1
-----0------------Zone1
-----0------------Zone2
-----0------------Zone2
-----0------------Zone2
-----0------------Zone3
-----0------------Zone3
-----0------------Zone3
基本上,使用MySQL,我正在尝试更新tblPointsClient中的PolygonID,方法是将ZoneNo用于tblZone中的区域(如果有意义的话)

因此,当我运行此更新时,应将PolygonID更改为:

[PolygonID] [Zone Name]

-----1------------Zone1
-----1------------Zone1
-----1------------Zone1
-----2------------Zone2
-----2------------Zone2
-----2------------Zone2
-----3------------Zone3
-----3------------Zone3
-----3------------Zone3
我尝试了以下方法:

UPDATE tblPointsClient 
SET tblPointsClient.PolygonID = (
   SELECT ZoneNo FROM tblZones WHERE tblPointsClient.ZoneNo = tblZones.Zone
                                )
但这使得所有的多克隆人
0

如果有人能帮忙,我将不胜感激!:)

为了提高性能,请在表
tblPointsClient
区域名称
和表
tblZone
区域
中添加
索引

更新1


您可以使用子查询来实现此目标:

UPDATE tblPointsClient 
SET PolygonID = (SELECT TOP 1 ZoneNo FROM tblZone WHERE Zone = [Zone Name])
WHERE PolygonID = 0
我创建了代码,只用于更新PolygonID=0的行

UPDATE tblPointsClient 
SET PolygonID = (SELECT TOP 1 ZoneNo FROM tblZone WHERE Zone = [Zone Name])
WHERE PolygonID = 0