mysql - 使用关键字段更新单个表

标签 mysql

我曾尝试在两个表之间执行以下操作但没有成功,现在尝试在一个表中执行。

包含邮政编码、城市、州、名称(前三个字段之一)和类型(城市、州、邮政编码)的位置表

尝试创建父字段,例如Zip 会将它的城市作为父级

所以想做类似的事情

对于type为zip的每条记录,查找同一个city的记录,state where type为city,并使该ID为parentID

对于type为city的每条记录,查找type为state的city, state相同的记录,并将其ID设为parentID

最佳答案

你可以尝试这样的事情:

UPDATE temp_demo_loc AS a
INNER JOIN temp_demo_loc AS b ON a.City = b.City
SET a.ParentID = b.id
WHERE a.Type = 'Zip' AND b.Type = 'City';

UPDATE temp_demo_loc AS a
INNER JOIN temp_demo_loc AS b ON a.City = b.City
SET a.ParentID = b.id
WHERE a.Type = 'City' AND b.Type = 'State';

并为下一个级别做同样的事情。

sqlfiddle demo

关于mysql - 使用关键字段更新单个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19483596/

相关文章:

python - 2002, "Can' t 通过 socket '/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2)"in docker-compose up

mysql - 使用 LIMIT a,b 或限制偏移量从最后获取表中的条目

mysql - sql select 中的一列返回多个值

MySql 纬度和经度

PHP 提交时出现成员(member)注册问题

mysql - 模拟表锁定问题

MySQL - 合并两个表 - 有条件

php - 根据组获取用户,但users、user_groups和groups保存在单独的表中

mysql - 将两个查询合并为一个查询以挑选相关列

mysql - 如何将三个 SQL 与两个具有相同字段 ne 的表连接起来