Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
SELECT s.Вид, Основа
FROM Блюда b JOIN Справочник_вид_блюда s ON b.Вид = s.ID_Вид; результатом которого является
Пусть теперь нам требуется получить таблицу со следующими заголовками:
Заголовками строк здесь являются уникальные названия видов блюд, которые берутся из столбца Вид вышеприведенного запроса, а заголовками столбцов – уникальные основы блюд (соответственно, из столбца Основа). А что должно быть в середине? Ответ очевиден – некоторый агрегат, например, функция count(Основа), которая подсчитает для каждого вида отдельно число блюд с основой овощи, мясо и т.д., которые и заполнят соответствующие ячейки этой таблицы. Это простейший вариант сводной таблицы, который имеет всего два уровня иерархии по столбцам и строкам. Сводные таблицы появились в версии MS Excel 5.0 и представляют собой двумерную визуализацию многомерных структур данных, применяемых в технологии OLAP для построения хранилищ данных. Следует сказать, что сводная таблица не является реляционной, поскольку имеет не только заголовки столбцов, но и заголовки строк, при этом и те и другие формируются из данных, находящихся в столбцах обычных реляционных таблиц. Последнее, кстати, означает, что число строк и столбцов заранее неизвестно, т.к. они формируются динамически при выполнении запроса к реляционным данным. Кроме того, заголовки могут иметь многоуровневые подзаголовки, что и позволяет выполнять операции свертки (переход на более высокий уровень иерархии) и детализации (переход на более низкий уровень иерархии). Можно сказать, что pivot-таблица в SQL – это одноуровневая сводная таблица. Оператор PIVOT не является стандартным, поэтому мы будем использовать в примерах его реализацию в языке Transact-SQL (SQL Server 2005/2008). Date: 2015-09-18; view: 342; Нарушение авторских прав |