gpt4 book ai didi

mysql - SQL:从另一个表更新一个表

转载 作者:可可西里 更新时间:2023-11-01 07:30:55 25 4
gpt4 key购买 nike

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

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,我尝试通过 tblZone 中的区域的 ZoneNo 来更新 tblPointsClient 中的 PolygonID(如果这有意义的话)。

因此,当我运行此更新时,它应该将 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
)

但这使得所有 PolygonID 的 0

如果有人能提供帮助,那将不胜感激! :)

最佳答案

UPDATE  tblPointsClient a
INNER JOIN tblZone b
ON a.`Zone Name` = b.Zone
SET a.PolygonID = b.ZoneNo

为了更快的性能,添加一个 INDEX在列上 Zone Name在 table 上 tblPointsClientZone在 table 上 tblZone .

更新 1

关于mysql - SQL:从另一个表更新一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14876467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com