Задавайте вопросы, мы ответим
Вы не зашли.
Есть талица гео данных, взятых с geonames.org и следующий запрос:
select c.geo_nm_id, al.language, al.alt_name, al.is_preferred, al.is_short_nm, al.is_historic
from oa_geo_country_tbl c
inner join oa_geo_alternative_tbl al on al.geo_nm_key = c.geo_nm_id
where c.geo_nm_id = 578853
здесь 578853 это идентификатор региона (Башкирия). Таблица oa_geo_country_tbl содержит данные о всех населенных пунктах в иерархии, включая страны, регионы, районы и города (поселки/деревни и т.д.). Таблица oa_geo_alternative_tbl содержит имена гео пунктов на разных языках, включая варианты на одном языке (Россия и Российская Федерация). Запрос возвращает следующие данные:
578853 Bashkirskaya ASSR 0 0 0
578853 Bashkortostan 0 1 0
578853 Bashkirskaya Avtonomnaya Sovetskaya Sotsialisticheskaya Respublika 0 0 0
578853 Baskhir 0 0 0
578853 ru Республика Башкортостан 1 0 0
578853 ru Башкортостан 1 1 0
578853 sv Basjkirien 0 0 0
578853 Respublika Bashkortostan 0 0 0
578853 link http://en.wikipedia.org/wiki/Bashkortostan 0 0 0
Нужно написать запрос, так, чтобы он учитывал поля IsPreferred, IsShort и IsHostoric (предпочитаемое, короткий вариант и историческое), причем каждое из полей может отсутствовать. Так же нужно иметь в виду, что язык может быть не указан, тогда нужно использовать вариант без указания языка.
Видимо, нужно составить серию запросов, и вот с этим возникает проблема. Ясно, что следующий запрос:
select *
from oa_geo_administration_first_tbl a
inner join oa_geo_country_tbl c on c.geo_nm_id = a.geo_nm_id
inner join oa_geo_alternative_tbl al on al.geo_nm_key = a.geo_nm_id
where a.country_code = 'RU'
and al.language = 'RU'
group by (c.geo_nm_id)
order by (al.alt_name);
вернет не все регионы, дабы не для всех регионов указан перевод на русский язык. Если убрать al.language = 'RU', запрос вернет список состоящий из наименований на русском и других языках, некоторые названия будут историческими и короткими.
Интересует сама методика построения затих запросов. Как их строить.
Посмотреть содержание таблиц можно здесь:
http://download.geonames.org/export/dump/
Отредактированно syscreat (09.03.2014 16:52:51)
Неактивен
Если Вам нужна только одна строчка, то поможет
Неактивен