/ / Actualizar tabla única usando el campo clave - mysql

Actualice una sola tabla usando el campo clave - mysql

He tratado de hacer lo siguiente entre dos tablas sin éxito y tratando de hacerlo en una ahora.

Tabla de ubicaciones con cremalleras, ciudad, estado, nombre (uno de los tres primeros campos) y tipo (ciudad, estado, código postal)

Intentando crear campos padre, por ejemplo. Zip tendría la ciudad de s como padre

Así que busca hacer algo como

Para cada registro donde el tipo es zip, busque un registro con la misma ciudad, indique donde tipo es ciudad y haga la identificación que es el ID de padre

Para cada registro donde tipo es ciudad, busque un registro con la misma ciudad, indique dónde tipo es estado y haga que el ID sea parentID

Respuestas

0 para la respuesta № 1

Puedes probar algo como esto:

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";

Y haz lo mismo para los siguientes niveles.

demo de sqlfiddle