Próbowałem wykonać następujące czynności między dwoma stołami bez powodzenia i próbuję zrobić to teraz w jednym.
Tabela lokalizacji z zamkami, miastem, stanem, nazwą (jedno z trzech pierwszych pól) i typem (miasto, stan, zip)
Próbuję utworzyć pola nadrzędne, np. Zip miałby to miasto jako rodzic
Więc chcę zrobić coś takiego
Dla każdego rekordu, w którym typem jest zip, znajdź rekord z tym samym miastem, określ, gdzie typem jest miasto, i nadaj temu identyfikatorowi identyfikator nadrzędny
Dla każdego rekordu, w którym typem jest miasto, znajdź rekord z tym samym miastem, określ stan, w którym typem jest stan, i nadaj temu identyfikatorowi identyfikator nadrzędny
Odpowiedzi:
0 dla odpowiedzi № 1Możesz spróbować czegoś takiego:
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";
I zrób to samo na kolejnych poziomach.