Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cơ sở dữ liệu tên địa lý:nhận được hệ thống phân cấp đầy đủ (quốc gia -> admin1 -> admin2 -> thành phố) với một truy vấn mysql duy nhất

Bạn không nên yêu cầu nó mọi lúc.

Tôi đã thực hiện việc này bằng cách thêm cột "admin1Nameé và" admin2Name "và tôi đã cập nhật giá trị của chúng bằng một truy vấn SQL đơn giản.

Cơ sở dữ liệu này rất lớn nên bạn nên nghĩ về cột được tính toán.

CHỈNH SỬA:nếu bạn vẫn muốn làm điều đó mọi lúc

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. Làm thế nào để xử lý quá nhiều kết nối đồng thời ngay cả sau khi sử dụng một nhóm kết nối?

  2. PL / MySQL có tồn tại không?

  3. Sự cố kích hoạt mysql trong lược đồ sai

  4. Làm cách nào để đặt lược đồ mặc định cho người dùng trong MySQL

  5. Có cách nào tốt để thực hiện kết xuất SQL của cơ sở dữ liệu MySQL trong DataGrip không?