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

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

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





Иногда бывает необходимо объединять результаты выполнения двух и более 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. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


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


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

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

Репродуктивное здоровье, как составляющая часть здоровья человека и общества   Репродуктивное здоровье – это состояние полного физического, умственного и социального благополучия при отсутствии заболеваний репродуктивной системы на всех этапах жизни человека...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

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