Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФОРМАТИРОВАНИЕ СВОДНОЙ ТАБЛИЦЫ.docx
Скачиваний:
8
Добавлен:
12.04.2015
Размер:
188.49 Кб
Скачать

Удаление данных из таблицы

Помимо добавления данных в таблицу SQL предоставляет возможность удаления данных при помощи оператора DELETE, который имеет следующий синтаксис:

DELETE FROM table_name [WHERE condition 1 [,...n]];

где используемые параметры аналогичны тем, которые применя­лись для оператора UPDATE.

Оператор DELETE можно использовать без предложения WHERE. В этом случае будет удалена вся информация, находя­щаяся в указанной таблице.

Например, если выполнить следующую команду:

DELETE FROM tbIStudents;

СУБД выполнит удаление всей информации о студентах из таб­лицы tbIStudents.

Если необходимо удалить только записи студентов с опреде­ленным признаком (например, всех отчисленных студентов, для которых поле fState имеет значение "о"), то следует использовать удаление данных по указанному условию:

DELETE FROM tbIStudents WHERE fState = 'o';

Инструкция transform

Для создания перекрестного запроса в диалекте SQL для Access предусмотрена специальная инструкция TRANSFORM, имеющая такой синтаксис:

TRANSFORM expression_total selection PIVOT column_name [IN columnjist]

где: expression_total - это выражение, в котором используется одна из итоговых функций (SUM, AVG, COUNT, МАХ или MIN). Зна­чения этого выражения будут выведены в ячейках полученной перекрестной таблицы;

selection - инструкция SELECT, в которой выполняется груп­пировка данных (GROUP BY);

column_name - имя столбца (или выражение), значения кото­рого будут использоваться в качестве заголовков столбцов пере­крестной таблицы;

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

Например, представим рассмотренный в предыдущей главе перекрестный запрос qryGroupsMarksCross, отображающий оцен­ки по всем предметам в среднем по каждой группе в виде SQL- инструкции TRANSFORM (источником данных является запрос qryGroupsMarks):

TRANSFORM Avg(fMark)

SELECT fGroup AS [Группа], Avg(fMark) AS [Средняя оценка]

FROM qryGroupsMarks

GROUP BY fGroup

ORDER BY fGroup

PIVOT fSubject;

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

Теперь немного преобразуем этот запрос. Предположим, что нужно отображать (и учитывать при подсчете средних оценок) только оценки по физике и математике (именно в этом порядке). Для этого в предыдущий запрос нужно добавить предложение IN, указав в качестве параметров отбора названия предметов «Физи­ка» и «Математика»:

qry6foi»j>sMarfcsCross

. а ' зс

Групг -

Средняя оцен -

Математик. *

Физика ж

Ш

4,08

4,09

4'07

М12

4,22

4,24

4,24

М13

4,17

4,17

4,17

М14

4,21

4,21

4,21

М15

4,19

4,19

4,19

М17

4,21

4,21

4,21

М18

4,24

4,24

4,24

М21

4,17

4,17

4,17

М22

4,19

4,18

4,18

М23

4,27

4,27

4,27

М24

4,19

4,16

4,16

М25

4,22

4,24

4,24 ^

; Запись: i<

i hj 97 >

►1

ГК'!

Поиск

Рис. 4.1. Результат выполнения перекрестного запроса с отбором столбцов

TRANSFORM Avg(fMark)

SELECT fGroup AS [Группа],

Avg(fMark) AS [Средняя оценка] FROM qryGroupsMarks GROUP BY fGroup ORDER BY fGroup PIVOT fSubject