FROM VYKLADACH INNER JOIN POSADA ON VYKLADACH.KodPost = POSADA.KodPost
GROUP BY VYKLADACH.KodPost, POSADA.PostVykl
PIVOT VYKLADACH.NomKaf;
В принципі, бувають випадки, коли групування рядків не потрібно, але, як підкреслювалося, опція GROUP BY є обов’язковою, тому після слова TRANSFORM застосовуваеємо одну із таких агрегатних функцій, яка не змінить значення єдине значення, що відповідає даному рядку і даному стовпчику. Так, для певного даного числа функції Max, Min, Avg, First, Last повернуть те ж сааме значення.
Приклад 2.Отримаємо перехресну таблицю нормативного навантаження викладачів, при цьому їх посади зробимо заголовками стовпців.
TRANSFORM MAX(POSADA.NormPost) AS [MaxNormPost]
SELECT VYKLADACH.KodVykl, VYKLADACH.PrizvVykl
FROM POSADA INNER JOIN VYKLADACH ON POSADA.KodPost = VYKLADACH.KodPost
GROUP BY VYKLADACH.KodVykl, VYKLADACH.PrizvVykl
PIVOT POSADA.PostVykl;
KodVykl
PrizvVykl
викладач
доцент
професор
старший викладач
Середа І.С.
Бандур М.М.
Мунтян Р.Д.
Сірко В.В.
Оприско Ю.Й.
Турчак А.Д.
Батурин О.Й.
Балагура А.М.
Махно Н.Є.
Собчак А.О.
Черно Ф.М.
Збережемо отриманий результат як таблицю NavThCros. У розділі 6 будемо „згортати” цю перехресну таблицю в реляційну за допомогою оператора UNION.