Продвижение сайта по поисковым запросам, контекстная реклама, качественный копирайтинг и рерайтинг, создание сайта под ключ, QA процедуры и аудит в ИТ, бизнес анализ в Киеве, Украина.

Поиск

Админ

Использование строк и выражений с UNION sql


Использование строк и выражений с UNION sql

Иногда, вы можете вставлять константы и выражения в предложения SELECT, используемые с UNION. Это не следует строго указаниям ANSI, но это полезная и необычно используемая возможность. Константы и выражения, которые вы используете, должны встречать совместимые стандарты, которые мы выделяли ранее. Эта свойство полезно, например, чтобы устанавливать комментарии, указывающие, какой запрос вывел данную строку.

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

SELECT a.snum, sname, onum, 'Highest on', odate
FROM Salespeople a, Orders b
WHERE a.snum = b.snum AND b.amt = (SELECT MAX (amt)
FROM Orders c
WHERE c.odate = b.odate)

UNION

SELECT a.snum, sname, onum, 'Lowest on ', odate
FROM Salespeople a, Orders b
WHERE a.snum = b.snum AND b.amt = (SELECT  MIN (amt)
FROM Orders c
WHERE c.odate = b.odate);

Вывод из этой команды показывается в Рисунке 14.4.

Мы должны были добавить дополнительный пробел в строку 'Lowest on', чтобы сделать ее совпадающей по длине со строкой 'Highest on'. Обратите внимание, что Peel выбран при наличии и самого высокого и самого низкого (фактически, он единственный) Заказа на 5 Октября. Так как вставляемые строки двух этих запросов различны, строки не будут устранены как дубликаты.

===============  SQL Execution Log ============
| AND b.amt =                                   |
| (SELECT min (amt)                             |
| FROM Orders c                                 |
| WHERE c.odate = b.odate);                     |
| ============================================= |
|                                               |
| -----  ------- ------  ---------- ----------- |
|  1001  Peel     3008   Highest on  10/05/1990 |
|  1001  Peel     3008   Lowest  on  10/05/1990 |
|  1001  Peel     3011   Highest on  10/06/1990 |
|  1002  Serres   3005   Highest on  10/03/1990 |
|  1002  Serres   3007   Lowest  on  10/04/1990 |
|  1002  Serres   3010   Lowest  on  10/06/1990 |
|  1003  Axelrod  3009   Highest on  10/04/1990 |
|  1007  Rifkin   3001   Lowest  on  10/03/1990 |
===============================================

Рисунок 14.4. Выбор наибольших и наименьших Заказов.

Популярность: 5%




Оставить комментарий или два


Навигация

Блог / Главная / Разработка / Использование строк и выражений с UNION sql

Инфо

Запись опубликовал admin 28 апреля 2010 года и разместил в рубрике Разработка.   Запись имеет метки:   К статье пока нет комментариев. Вы можете быть первым.  

Случайные записи

Как проверить сайт. Проверка значений полей (CHECK) sql Объединение таблиц sql Функции sql