Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






SELECT Вид,





--столбец (столбцы), значения из которого формируют заголовки строк

[Овощи], [Мясо], [Рыба], [Молоко], [Яйца], [Крупа], [Фрукты], [Кофе]

--значения формирующие заголовки столбцов

FROM (SELECT s.Вид, Основа

FROM Блюда b JOIN Справочник_вид_блюда s

ON b.Вид = s.ID_Вид) a

--здесь может быть таблица или подзапрос

PIVOT --формирование pivot-таблицы

(COUNT(Основа)

-- агрегатная функция, формирующая содержимое сводной таблицы

FOR Основа

-- указывается столбец, уникальные значения в котором будут являться
--заголовками столбцов

IN ([Овощи], [Мясо], [Рыба], [Молоко], [Яйца], [Крупа], [Фрукты], [Кофе])

--указываются конкретные значения в столбце Основа,

-- которые следует использовать в качестве заголовков

) pvt;

-- алиас для сводной таблицы

Результат  
вид Овощи Мясо Рыба Молоко Яйца Крупа Фрукты Кофе
Горячее                
Десерт                
Закуска                
Напиток                
Суп                

 


 

В отличие от сводных таблиц, в операторе PIVOT требуется явно перечислить столбцы для вывода. Это серьезное ограничение, т.к. для этого нужно знать характер данных, а значит, и применять в приложениях этот оператор мы сможем, как правило, только к справочникам (вернее, к данным, которые берутся из справочников).

 

Синтаксис:

SELECT <несведенный столбец>,

[первый сведенный столбец] AS <имя столбца>,

[второй сведенный столбец] AS <имя столбца>,

...

[последний сведенный столбец] AS <имя столбца>,

FROM

(< запрос SELECT, извлекающий эти данные>)

AS <псевдоним исходного запроса>

PIVOT

(

<статистическая функция>(<статистически обработанный столбец>)

FOR

[<столбец, содержащий значения, которые станут именами столбцов>]

IN ([первый сведенный столбец], [второй сведенный столбец],

... [последний сведенный столбец])

)AS <псевдоним сведенной таблицы>

<необязательное предложение ORDER BY>;

 

Приведенную таблицу можно заполнить и стандартным способом с использованием оператора CASE:

 







Date: 2015-09-18; view: 334; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию