10.1 Напишите запрос, который выводит для каждого клиента все его заказы, упорядоченные по дате.
Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Подсказка
сделайте выборку реквизитов Клиент, Номер и Дата из таблицы Документ.ЗаказКлиента
сделайте упорядочивание результатов выборки (секция УПОРЯДОЧИТЬ ПО) по реквизиту Дата
подведите итоги (секция ИТОГИ ПО) по реквизиту Клиент
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
10.2 Напишите запрос, который разбивает все заказы клиентов по месяцам и выводит для каждого месяца общее количество заказов.
Подсказка
сделайте выборку Клиент, начало периода Дата и Ссылка из таблицы Документ.ЗаказКлиента
сгруппируйте выборку (секция СГРУППИРОВАТЬ ПО) по началу периода Дата и Клиент
примените агрегатную функцию КОЛИЧЕСТВО к реквизиту Ссылка и объявите её результат под псевдонимом КоличествоЗаказов
сделайте упорядочивание (секция УПОРЯДОЧИТЬ ПО) выборки по Период и Клиент
подведите итоги (секция ИТОГИ ПО) выборки по Период
в секции итогов примените агрегатную функцию СУММА к псевдониму КоличествоЗаказов
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
10.3 Напишите запрос, который выводит клиентов с общим количеством заказов больше двух.
Подсказка
сделайте выборку реквизитов Клиент и Ссылка из таблицы Документ.ЗаказКлиента
сгруппируйте (секция СГРУППИРОВАТЬ ПО) результаты выборки по реквизиту Клиент
примените агрегатную функцию КОЛИЧЕСТВО к реквизиту Ссылка
наложите условие на результаты группировки (секция ИМЕЮЩИЕ) так, чтобы КОЛИЧЕСТВО(Ссылка) было больше 2
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
10.4 Напишите запрос, который группирует все заказы по дням недели:
Подсказка
сделайте выборку дня недели Дата и Ссылка из таблицы Документ.ЗаказКлиента
к дню недели Дата примените условный оператор, возвращающий соответствующее строковое представление дня недели
результат условного оператора объявите под псевдонимом День
сделайте упорядочивание (секция УПОРЯДОЧИТЬ ПО) результатов выборки по дню недели Дата
подведите итоги (секция ИТОГИ ПО) по псевдониму День
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
10.5 Напишите запрос, который выводит таблицу умножения от 1 до 10 (не поместилась на рисунке).
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Объяснение решения
Задание не из простых, немногие разбираются сразу.
Попробуйте посмотреть на этот запрос как на два запроса:
(ВЫБРАТЬ 1 как а ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ... ВЫБРАТЬ 10) как аа
Это одна таблица получилась. С именем аа и столбцом а.
(ВЫБРАТЬ 1 как б ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ... ВЫБРАТЬ 10) как бб
Это вторая таблица получилась. С именем бб и столбцом б.
Затем мы делаем их перекрёстное соединение и поэтому, чтобы обратиться к каждому из столбцов мы указываем сначала имя таблица аа, а затем через точку имя столбца аа.а. И соотв. бб.б.
10.6 Напишите запрос, который выводит по месяцам количество заказанных продуктов по убыванию, а также общее количество заказанных продуктов за месяц.
Подсказка
сделайте выборку начала периода Ссылка.Дата, Еда и Количество из таблицы Документ.ЗаказКлиента.Продукты
сделайте упорядочивание (секция УПОРЯДОЧИТЬ ПО) по реквизиту Период по возрастанию, а затем по реквизиту Количество по убыванию
подведите итоги (секция ИТОГИ ПО) по началу периода Ссылка.Дата, применив агрегатную функцию СУММА к полю Количество
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Для учеников
Уровень сложности уроков идёт снизу вверх. Поэтому старайтесь заниматься последовательно, ничего не пропуская и не откладывая на потом.
Обязательно выполняйте все тесты и домашние задания, старайтесь улучшить свои результаты. Сверяйтесь с эталонными решениями только после самостоятельного выполнения задач.