sql >> Databasteknik >  >> RDS >> Mysql

Geonames databas:få en fullständig hierarki (land -> admin1 -> admin2 -> stad) med en enda mysql-fråga

Du bör inte begära det varje gång.

Jag gjorde detta genom att lägga till en kolumn "admin1Nameé och "admin2Name" och jag uppdaterade deras värde med en enkel SQL-fråga.

Denna databas är mycket stor så du bör tänka på beräknad kolumn.

EDIT :om du fortfarande vill göra det varje gång

SELECT 
    locgeoname.*, 
    loc_countryinfo.name, loc_admin1Codes.name, loc_admin2Codes.name, 
FROM 
    loc_geoname 
INNER JOIN 
    loc_countryinfo ON loc_countryinfo.iso_alpha2 = loc_geoname.country
INNER JOIN 
    loc_admin1Codes ON code = loc_countryinfo.iso_alpha2 + '.' + admin1  
INNER JOIN 
    loc_admin2Codes ON code = loc_countryinfo.iso_alpha2 + '.' + admin1 + '.' + admin2



  1. Dynamisk rullgardinslista för olika länder, stater, geografiska platser?

  2. Hur man kontrollerar varchar med inledande nollor i mysql

  3. Hur kan jag komma åt MySQL-kommandoraden med XAMPP för Windows?

  4. Dynamiskt tabellnamn vid sql-satsen