/ / Atualizar tabela única usando o campo chave - mysql

Atualizar tabela única usando o campo chave - mysql

Eu tentei fazer o seguinte entre duas tabelas sem sucesso e tentando fazer uma agora.

Tabela de locais com zips, cidade, estado, nome (um dos três primeiros campos) e tipo (cidade, estado, zip

Tentando criar campos pai, por exemplo Zip teria sua cidade como pai

Então, olhando para fazer algo como

Para cada registro em que o tipo é zip, encontre um registro com a mesma cidade, indique onde o tipo é cidade e faça com que esse ID seja parentID

Para cada registro em que tipo é cidade, localize um registro com a mesma cidade, estado em que tipo é estado e faça com que esse ID seja parentID

Respostas:

0 para resposta № 1

Você pode tentar algo assim:

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

E faça o mesmo para os próximos níveis.

demo sqlfiddle