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

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

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






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



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

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

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

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

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

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

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

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