使用关键字段更新单个表

时间:2013-10-20 22:24:30

标签: mysql

我试图在没有成功的两个表之间进行以下操作,现在尝试在一个表中。

位置表,包含拉链,城市,州,名称(三个第一个字段之一)和类型(城市,州,邮编

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

所以希望做一些像

这样的事情

对于每个类型为zip的记录,查找具有相同城市的记录,其中类型为city的状态,并将该ID设为parentID

对于类型为城市的每条记录,查找具有相同城市的记录,状态类型为州,并将该ID设为parentID

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

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