sql >> Base de Datos >  >> RDS >> Mysql

Base de datos de geonombres:obtener una jerarquía completa (país -> admin1 -> admin2 -> ciudad) con una sola consulta mysql

No deberías solicitarlo cada vez.

Hice esto agregando una columna "admin1Nameé y "admin2Name" y actualicé su valor con una consulta SQL simple.

Esta base de datos es muy grande, por lo que debe pensar en la columna calculada.

EDITAR:si todavía quieres hacerlo cada vez

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