Выборка с вычисляемыми полями 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Выборка с вычисляемыми полями



В структуре запроса наряду с полями реальных таблиц могут быть представлены данные, которые отсутствуют в реальных таблицах, но могут быть выведены из хранимых данных при помощи арифметических, логических и других операторов, а также встроенных функций. Типичными примерами такого рода данных являются вычисляемые (виртуальные) и агрегированные данные (количество, сумма, среднее, минимальное, максимальное значения и др.).

Задание 16. Сформируйте запрос-выборку с вычисляемыми данными из БД УЧЕБА, представленной одной таблицей «Учёба». Допустим, что по условиям функционирования нашей модельной ПО «Учёба» две первые цифры номера студента указывают на год его зачисления в вуз. Допустим также, что датой зачисления студента является 1 сентября года приема. Добавим в структуру запроса на выборку всех данных после поля «номер студента» вычисляемое поле «дата зачисления», построенное по следующей формуле:

 

DateValue(«20»+Mid([Учеба]![номер студента];1;2)+«.01.09»)

Здесь функция DateValue(«строка символов») преобразует строковое представление даты в данное типа дата.

Функция Mid(«строка символов»; «начало»; «длина») вырезает из «строки символов», начиная с позиции «начало» (целое число), подстроку символов длиной «длина» (целое число) символов.

Оператор + выполняет сцепление (конкатенацию) строк символов.

Построение формулы для вычисления виртуального поля удобно производить под управлением Построителя выражений.

Сформируйте запрос по следующему алгоритму:

1) перенесите все поля в структуру запроса, как в примере «Все поля»;

2) для добавления нового поля выделите поле, слева от которого будет выполнена вставка. В нашем случае это поле «фамилия». (Для выбора столбца следует поместить курсор в любую его ячейку или нажать кнопку в области маркировки полей в верхней части таблицы запроса);

3) выполните команду Вставка | Столбцы. (Для удаления поля следует выделить соответствующий столбец и выполнить команду Правка | Удалить);

4) в строке «Поле» наберите формулу для вычисляемого поля. Формулу можно вводить вручную или конструировать при помощи Построителя выражений (рис. 17) по принципу «снаружи внутрь»;

5) в списке «Функции» («Встроенные функции») в категории «Дата/время» найдите функцию DateValue («stringexpr»);

6) аргумент функции «stringexpr» замените на сцепление трех строк символов: «20»+ Mid («stringexpr»; «start»; «length»)+ «01.09»;

7) функцию Mid найдете в списке «Функции» («Встроенные функции») вкатегории «Текстовые»: Mid («stringexpr»; «start»; «length»);

8) аргумент «start» замените на «1» (с первой позиции), аргумент «length»– на «2» (подстрока длиной 2 символа);

9) аргумент «stringexpr» найдите в списке «Таблицы» («Учеба», поле «номер студента») [Учеба]![номер студента];

Рис. 17. Построение выражения для вычисляемого поля

 

10) в таблице результата запроса новое поле будет иметь имя «Выражение1». Чтобы присвоить ему содержательное имя, установите курсор в ячейку «Поле» и нажмите правую клавишу мыши;

11) в контекстном меню выполните команду Свойства и введите в диалоговом окне «Свойства поля» в строку «Подпись» имя поля «дата зачисления»;

12) завершите результаты формирования запроса;

13) результат запроса будет иметь вид, как на рис. 18;

14) сохраните запрос под именем «Вычисляемое поле».

 

Рис. 18. Результат запроса с вычисляемым полем

Сортировка записей

 

Изначально записи-строки таблицы БД оказываются отсортированными по возрастанию ключа. Если по смыслу запроса требуется рассортировать записи по другому критерию, то формируют запрос на сортировку. Сортировка может выполняться по возрастанию или по убыванию значений поля. Сортировка может выполняться по нескольким полям. В этом случае порядок следования полей в структуре запроса определяет порядок сортировки (вложенная сортировка). Сначала выполняется сортировка по первому полю. В пределах внешней сортировки выполняется сортировка по второму полю и т. д.

Задание 17. Постройте запрос на сортировку результатов сдачи экзаменов в таблице «Учеба» по факультетам (по полю «факультет» по возрастанию), а в пределах факультета по специальностям (по полю «специальность» по убыванию):

1) перенесите все поля в структуру запроса, как в предыдущем примере;

2) в структуре запроса поменяйте местами поля «факультет» (первое поле) и «специальность» (второе поле);

3) в поле «факультет» в строке «Сортировка» мышью включите список способов сортировки и выберите «По возрастанию» (по алфавиту);

4) в поле «специальность» в строке «Сортировка» мышью включите список способов сортировки и выберите «По убыванию»;

5) завершите результаты формирования запроса;

6) сохраните запрос под именем «Сортировка».



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 248; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.239.195 (0.006 с.)