Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Перекрестные запросы (в Access и SQL Server)



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

Если нужно найти среди всех записей базы данных те, которые не имеют подчиненных, следует выбирать вариант, "Записи без подчиненных". Например, это достаточно типовая ситуация для любой базы данных, фиксирующей торговые операции по конкретным клиентам или по конкретным товарам. Незачем хранить информацию по конкретной поставке товара, если сам товар уже давно продан. Также незачем хранить в списке "постоянных клиентов" фамилии тех людей, которые уже длительное время не осуществляли никаких покупок. Очевидно, что чем меньше записей приходится просматривать, тем быстрее работает вся СУБД.

Перекрестные запросы используют для расчетов и представления данных в структуре, облегчающей их анализ. Перекрестный запрос подсчитывает сумму, среднее, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк. Таким образом, структура перекрёстного запроса напоминает структуру электронной таблицы. Если в перекрёстный запрос нужно включить поля из нескольких таблиц и/или запросов, сначала создаётся запрос на выборку, содержащий все необходимые поля, а затем в мастере проектируется собственно перекрёстный запрос.

Процедура перекрестных запросов средствами T-SQL реализует функцию TRANSFORM, почти как в Microsoft Access, а именно:

Выбор столбцов, которые попадут в результат;

Выбор значения, которое будет помещаться в трансформированные столбцы;

Выбор агрегатной функции, используемой при вычислении значений в трансформированных столбцах;

Возможность вывода результата во временную таблицу.

Недостатки:

Необходимость создания временной таблицы;

Невозможно использовать временную таблицу в качестве входных данных;

Используется sp_executesql, а значит строка результирующего запроса не может превышать 4000 символов в кодировке UNICODE.





Дата публикования: 2015-02-03; Прочитано: 1277 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...