Mysql
 sql >> Database >  >> RDS >> Mysql

Database dei geonomi:ottenere una gerarchia completa (paese -> admin1 -> admin2 -> città) con una sola query mysql

Non dovresti richiederlo ogni volta.

L'ho fatto aggiungendo una colonna "admin1Nameé e "admin2Name" e ho aggiornato il loro valore con una semplice query SQL.

Questo database è molto grande, quindi dovresti pensare alla colonna calcolata.

EDIT :se vuoi ancora farlo ogni volta

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