В Jet SQL, як і в більшості сучасних СКБД, є можливість створити перехресну таблицю. Мовою QBE її можна отрималати за допомогою запиту CrossTab. Нагадаємо, що перехресною таблицею називається таблиця, яка має заголовки рядків (їх може бути декілька), заголовки стовпців та якісь значення на перерізі рядків і стовпців. Для роботи з перехресними таблицями найбільш ефективним засобом є електронні таблиці, зокрема Excel.
Приклад перехресної таблиці. Кількість викладачів по кафедрах з розподіленням по посадах.
KodPost
PostVykl
професор
доцент
старший викладач
викладач
Тут заголовками рядків є кортежі <KodPost, PostVykl>: <’01’, ‘професор’>, <02, ‘доцент’> і т.д. Заголовками стовпців є номери кафедр, а значеннями на перерізі стовпців і рядків є кількість викладачів певної посади на кафедрі. Наведеній перехресній таблиці відповідає така реляційна таблиця (вона була отримана раніше запитом до таблиць VYKLADACH і POSADA).
NomKaf
KodPost
PostVykl
QtyTh
викладач
доцент
доцент
професор
доцент
професор
професор
старший викладач
Перехресна таблиця (точніше – запит, що виводить таблицю) створюється оператором TRANSFORM … PIVOT …, який всередині містить оператор SELECT з обов’язковою опцією GROUP BY. Після ключового слова TRANSFORM обов’язково вживається одна із агрегатних функцій та надається ім’я полям, що знаходяться на перерізах рядків і стовпців. Це ім’я використовується в так званих PIVOT TABLE (зведених підсумкових таблицях) системи Excel, які тут не розглядаються. Перелік рядків-заголовків задається після опції SELECT; в опції FROM задається з’єднання; в опції GROUP BY – групування рядків, а заголовки стовпців задаються після опції PIVOT як значення певного (одного!) стовпця однієї із таблиць, що з’єднуються. Для отримання наведеної перехресної таблиці оператор TRANSFORM буде мати такий вигляд: