/ / Aktualizovať jednu tabuľku pomocou kľúčového poľa - mysql

Aktualizujte jednu tabuľku pomocou kľúčového poľa - mysql

Snažil som sa robiť nasledovné medzi dvoma tabuľkami bez úspechu a teraz sa snažím robiť.

Tabuľka umiestnení so zipsami, mestom, stavom, menom (jedným z troch prvých polí) a typom (mesto, štát, zips

Pokus o vytvorenie rodičovských polí, napr. Zip by ho mal ako mesto ako rodič

Takže hľadáte niečo také

Pre každý záznam, kde typ je zips, nájdite záznam v tom istom meste, uveďte, kde je typ mesta a urobte toto ID rodičom.

Pre každý záznam, kde typ je mesto, nájdite záznam s tým istým mestom, uveďte, kde je typ stavu a urobte toto ID rodičovským ID

odpovede:

0 pre odpoveď č. 1

Môžete to vyskúšať takto:

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

A urobte to isté pre ďalšie úrovne.

demo sqlfiddle