sql >> データベース >  >> RDS >> Mysql

Geonamesデータベース:1つのmysqlクエリのみで完全な階層(国-> admin1-> admin2->都市)を取得する

    毎回リクエストするべきではありません。

    これを行うには、「admin1Nameé」と「admin2Name」の列を追加し、単純なSQLクエリでそれらの値を更新しました。

    このデータベースは非常に大きいため、計算列について検討する必要があります。

    編集:それでも毎回やりたい場合

    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. mysqlエラー1364フィールドにデフォルト値がありません

    2. mkdir / mnt / data:読み取り専用ファイルシステムバックオフの再起動に失敗したpostgresコンテナ

    3. セッションをカウントしてオンラインの人数を確認できますか?

    4. 複数のSQLステートメントでデータベースを更新する