1

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

带有 zip、城市、州、名称(前三个字段之一)和类型(城市、州、邮编)的 Locations 表

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

所以想做类似的事情

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

对于类型为城市的每条记录,找到具有相同城市、州的记录,其中类型为州,并将该 ID 设为 parentID

4

1 回答 1

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

于 2013-10-21T00:49:35.323 回答