Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Baza danych geonazw:uzyskanie pełnej hierarchii (kraj -> admin1 -> admin2 -> miasto) za pomocą tylko jednego zapytania mysql

Nie powinieneś o to prosić za każdym razem.

Zrobiłem to, dodając kolumnę „admin1Nameé i „admin2Name” i zaktualizowałem ich wartość za pomocą prostego zapytania SQL.

Ta baza danych jest bardzo duża, więc powinieneś pomyśleć o obliczonej kolumnie.

EDYCJA:jeśli nadal chcesz to robić za każdym razem

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql:Usuwanie wszystkich wierszy starszych niż 5 lat co 10 sekund

  2. Jak mogę uzyskać długość/wartości kolumny mySql?

  3. Czy w PHP/MySQL powinienem otwierać wiele połączeń z bazą danych czy udostępniać 1?

  4. Podzapytanie jako wygenerowana kolumna w mysql?

  5. Jak ustawić jeden FK (klucz obcy) na kilku stołach?