Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Объединение результатов нескольких запросов





Иногда бывает необходимо объединять результаты выполнения двух и более SELECT -инструкций. Эту операцию можно выполнить при помощи предложения UNION <$I[]UNION в SQL-инструкции SELECT>. Поскольку результатом всего запроса является один набор, каждый из запросов, объединяемых предложением UNION, должен содержать одинаковое количество полей с одинаковыми типами данных — практически, объединяются тождественные наборы. Можно написать сколь угодно сложную SELECT -инструкцию, добавить к ней слово UNION, за которым будет другая SELECT -инструкция и т.д., но все SELECT -инструкции должны возвращать одинаковые наборы.

Для демонстрации работы с объединением, представим себе, что по не обсуждаемым здесь причинам мы имеем более одного mdb-файла со структурой рассматриваемого до сих пор файла фирма.mdb. Таблицы Товары файлов, например, фирма1.mdb и фирма2.mdb представлены на рис. 15.39–15.40 и, в общем-то, могут содержать одинаковые записи.

Рис. 15.39

Таблица Товары файла фирма1.mdb

Рис. 15.40

Таблица Товары файла фирма2.mdb

Для получения общей ведомости товаров можно использовать следующую инструкцию:

SELECT НаимТовара AS Наименование, Format(Цена1, "### ##0.00р") AS [Цена оптовая]

FROM Товары IN 'c:\фирма1.mdb'

UNION

SELECT НаимТовара AS Наименование, Format(Цена1, "### ##0.00р") AS [Цена оптовая]

FROM Товары IN 'c:\фирма2.mdb'

Как видно из результата запроса (рис. 15.41), в полученном наборе нет повторяющихся записей. Это — свойство объединения: записи результирующих наборов не повторяются. Если же вы измените в одной из таблиц для повторяющего товара значение в поле Цена1 (Цена2 не входит в запрос), то в результирующем наборе это наименование появится дважды, но с разными ценами (рис. 15.42).

Рис. 15. 41

Результирующий запрос-объединение

Рис. 15. 42

Результирующий запрос-объединение

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

В запросе, использующем UNION, можно упорядочивать результирующие записи предложением ORDER BY. При этом допустимо только одно предложение ORDER BY, которое следует располагать после всех предложений SELECT и которое действует для обоих запросов. Например:

SELECT НаимТовара AS Наименование, Format(Цена1, "### ##0.00р") AS [Цена оптовая]

FROM Товары IN 'c:\фирма1.mdb'

UNION

SELECT НаимТовара AS Наименование, Format(Цена1, "### ##0.00р") AS [Цена оптовая]

FROM Товары IN 'c:\фирма2.mdb'

ORDER BY 2

Результат выполнения этого запроса мог бы выглядеть так, как представлено на рис. 15.44.

Рис. 15. 44

Использование ORDER BY в запросе-объединении







Дата добавления: 2015-09-04; просмотров: 664. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия