Оператор PIVOT |
||||||||||||||||||||||||
|
Давайте рассмотрим такую задачу. Пример 1.Для каждого производителя из таблицы Product определить число моделей каждого типа продукции. Задачу можно решить стандартными средствами с использованием оператора CASE:
Пример 2. Посчитать среднюю цену на ноутбуки в зависимости от размера экрана. Задача элементарная и решается с помощью группировки:
А вот как можно повернуть эту таблицу с помощью PIVOT:
В отличие от сводных таблиц, в операторе PIVOT требуется явно перечислить столбцы для вывода. Это серьезное ограничение, т.к. для этого нужно знать характер данных, а значит и применять в приложениях этот оператор мы сможем, как правило, только к справочникам (вернее, к данным, которые берутся из справочников). Если рассмотренных примеров покажется недостаточно, чтобы понять и использовать без затруднений этот оператор, я вернусь к нему, когда придумаю нетривиальные примеры, где использование оператора PIVOT позволяет существенно упростить код. Я написал этот опус в помощь тем, кому оператор PIVOT интуитивно непонятен. Могу согласиться с тем, что в реляционном языке SQL он выглядит инородным телом. Собственно, иначе и быть не может ввиду того, что поворот (транспонирование) таблицы является не реляционной операцией, а операцией работы с многомерными структурами данных. |
||||||||||||||||||||||||
| Триммеры электрические |
| Каталог товаров. О магазине. |
| klimdom.ru |
| Перевод с английского на русский |
| Бюро переводов. Образцы переводов. |
| moiperevod.ru |
| Кузовной ремонт ВАЗ |
| Дневник на Система поиска товаров |
| altika.ru |


