Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MI_UG_7.pdf
Скачиваний:
174
Добавлен:
13.02.2015
Размер:
8.59 Mб
Скачать

Выбор с помощью запросов в MapInfo Professional

2.Выберите нужный файл с и нажмите кнопку ОТКРЫТЬ. После этого откроется диалог "SQL Запрос", в котором будут введены параметры, используемые в этом шаблоне запароса. Выполните запрос для создания таблицы запроса.

Вычисляемые колонки

Вычисляемая колонка - это такая колонка, которая содержит результат применения запроса. В приведенном выше примере, "Плотность" является вычисляемой колонкой.

По умолчанию поле Выбрать колонки содержит звезду (*), что означает выбор всех колонок из базовой таблицы и их включение в таблицу запроса. Если для вычислений не требуются все колонки, вместоудалите звезду и введите имена нужных колонок.

Можно создавать несколько вычисляемых колонок. Помните, что чем больше создается вычисляемых колонок, тем дольше обработка на MapInfo.

Можно создавать вычисляемые колонки используя функции обобщения Count, Sum, Avg, Wtavg, Max и Min. Например:

Sum(Население).

будет содержать в результате население всего земного шара.

sum(Area(obj), “sq mi”).

вычислит площадь всего земного шара.

Создание псевдонимов колонок

При создании вычисляемой колонки MapInfo использует некоторое выражение в качестве названия колонки. Оно может быть неудобочитаемым. Вы можете задать псевдоним – свое название колонки.

Например, колонка плотности населения в окне Списка из предыдущего примера будет иметь название:

Население / Area(obj, “sq km")

Мы можем дать этой колонке более содержательное название. Чтобы переименовать колонку, добавьте свое название в поле Выбрать колонки. Это название должно следовать сразу после вычисляемого выражения, отделяться от него пробелом и быть заключено в двойные кавычк. Например:

Страна, Население / Area(obj, “sq km") "ПЛ_НАСЕЛЕНИЯ"

При создании временной таблицы запроса MapInfo назовет колонку плотности населения "пл_населения ".

Псевдонимы можно задавать не только для вычисляемых колонок. Например, если каждая страна рассматривается как отдельный регион сбыта, можно переименовать колонку "Страна"в "Территория". Это делается аналогично вычисляемым колонкам:

264

MapInfo Professional 7.5

Глава 8: Выборки по запросам

Страна "ТЕРРИТОРИЯ", Население / Area(obj, “sq km") “ПЛ_НАСЕЛЕНИЯ"

Пример 3 — Вычисление суммарной плотности населения мира

Вэтом примере мы разберем несколько сторон SQL-запросов:

Создание вычисляемых колонок с помощью функций обобщения.

Переименование колонок путем введения псевдонимов.

Создание результирующей таблицы на основе таблицы WORLD.

Выполнение команды SQL-ЗАПРОС над новой таблицей.

Мы будем использовать таблицу статистики о странах мира (WORLD). Пусть требуется создатьтаблицу, содержащую бы суммарную плотность населениявсегомира, вычисленную по следующей формуле:

ВСЕ НАСЕЛЕНИЕ / ВСЯ ПЛОЩАДЬ

Хотя таблица WORLD не содержит явно данные о суммарной численности населения и суммарной площади всех стран мира, эту информацию можно получить с помощью функции обобщения Sum(), примененной к колонке "Население", и функции Area. Это мы

исделаем в нашем первом запросе.

1.Откройте таблицу WORLD.TAB и увеличьте ее на все окно.

2.Выполните команду ЗАПРОС > SQL-ЗАПРОС. Появится диалог "SQL-запрос".

3.Проделайте следующие действия в этом диалоге:

Находясь в окошке из таблиц, выберите WORLD из окошка списка Таблицы.

Выберите "Sum" из окошка списка Обобщение.

Выберите НАСЕЛЕНИЕ из окошка списка Колонки. После того, как Вы выбрали "Население", появятся круглые скобки и курсор будет помещен перед закрывающей скобкой [)]. Выведите его из скобок, нажав клавишу с правой стрелкой.

Нажмите пробел и введите псевдоним названия колонки "Общнаселение". Запомните, что псевдоним должен отделяться от выражения пробелом. Теперь колонка Sum(Население) будет показываться в окне с использованием названия-псевдонима "ОбщНаселение".

Внимание:Будет создана вычисляемая колонка Sum (Население), в которую будет сохранена суммарная численность населения всего мира.

Выберите "Sum" из окошка списка Обобщение.

Выберите "Area" из окошка списка Функции. После того, как Вы выбрали "Area", появятся круглые скобки и курсор будет помещен перед закрывающей скобкой [)]. Выведите его из скобок, нажав клавишу с правой стрелкой.

Внимание:Sum(Area) создаст вычисляемую колонку, в которую будет сохранена суммарная площадь государств всего мира.

MapInfo Professional 7.5 Руководство пользователя (Сокращенное)

265

Выбор с помощью запросов в MapInfo Professional

Нажмите пробел и введите псевдоним названия колонки "ОбщНаселение".

Внимание:Будет создана вычисляемая колонка Sum (Area), в которую будет сохранена суммарная площадь государств всего мира.

Оставьте пустыми окошки с условием, сгруппировать по и порядок по.

Введите в качестве названия итоговой таблицы "ОбщПлотность".

4.Нажмите кнопку ПРОВЕРИТЬ. Нажмите OK.

5.Проверьте, чтобы был установлен флажок Результат в Список.

6.Нажмите OK.

MapInfo создаст таблицу запроса с именем “ОбщПлощадь”, которая будет состоять из двух колонок. В первой колонке будет содержаться общая численность населения в мире, а во второй – общая площадь стран мира.

Теперь, зная общую численность населения и общую площадь стран мира, мы можем вычислить общую плотность населения с помощью SQL-запроса к только что созданной таблице “ОбщПлощадь”. В этом SQL-запросе мы разделим общую численность населения на общую площадь стран мира.

1.Выполните команду ЗАПРОС > SQL-ЗАПРОС. Появится диалог "SQL-запрос".

2.Заполните его следующим образом:

266

MapInfo Professional 7.5

Глава 8: Выборки по запросам

В поле из таблиц выберите “ОбщПлощадь” из выпадающего списка.

Выберите “ОбщНаселение” из выпадающего списка колонок.

“ОбщНаселение” - это колонка, которую мы создали из последнего запроса.

Обратите внимание, что когда Вы выбираете “ОбщНаселение”, COL1 появляется в поле Выбрать колонки. Это номер колонки этого поля. Когда выбираются колонки, полученные от предыдущих запросов, MapInfo использует номер колонки вместо ее имени. Номер колонки соответствует ее порядку колонок в поле Выбрать колонки. COL1 и COL2 относятся к первой и второй колонке соответственно.

3.Выберите знак (/) из выпадающего списка операторов.

4.Выберите “ОбщПлощадь” из выпадающего списка колонок. COL2 появится в поле

Выбрать колонки.

5.Оставьте поле с условием, сгруппировать по колонкам и порядок задать по колонке

пустыми.

6.Перейдите в поле и поместить в таблицу. Наберите "МирПлотность".

7.Нажмите кнопку ПРОВЕРИТЬ. Нажмите OK.

8.Убедитесь, что флажок в поле Результат в Список установлен.

9.Нажмите OK.

MapInfo создаст таблицу запроса с именем "МирПлотность", которая будет содержать значение средней плотности населения всего мира в квадратных километрах.

MapInfo Professional 7.5 Руководство пользователя (Сокращенное)

267

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]