9.1 Напишите запрос, который выводит первой строкой Андрей, а затем все его любимые продукты (основываясь на любимом цвете). Нельзя пользоваться итогами.
Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Подсказка
сделайте выборку строки "Андрей"
объедините (секция ОБЪЕДИНИТЬ ВСЕ) результат предыдущей выборки с запросом ниже
сделайте внутреннее соединение таблиц Справочник.Клиенты и Справочник.Еда по реквизитам ЛюбимыйЦвет и Цвет
наложите условие (секция ГДЕ) на результат выборки так, чтобы Клиенты.Наименование было равно "Андрей"
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
9.2 Напишите запрос, который выводит продукты, имеющие нечетную калорийность.
Подсказка
Используйте функцию ВЫРАЗИТЬ.
Подсказка
сделайте выборку реквизитов Наименование и Калорийность из таблицы Справочник.Еда
наложите условие (секция ГДЕ) на результат выборки так, чтобы Калорийность не делилась нацело на 2 (используйте функцию ВЫРАЗИТЬ)
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Объяснение решения
Эта задача головоломка.
Здесь мы:
сначала делим Калорийность на 2 (получается дробное число)
затем приводим этот результат к целому числу с длиной целой части 3 и дробной части 0 (то есть отбрасываем часть после точки)
Получается, что ВЫРАЗИТЬ(Калорийность / 2 КАК Число(3, 0)) это просто приведение результата деления на 2 к целому числу.
А затем мы сравниваем
результат деления на 2, приведенный к целому числу
с результатом деления на 2 без приведения (дробное число)
Если они не равны друг другу, то число является нечётным (не делится на 2 без остатка).
9.3 Напишите запрос, который выводит еду, отсортированную по длине наименования от самого короткого слова до самого длинного.
Подсказка
Для получения длины слова не нужно пытаться написать универсальный запрос, напишите вариант работающий на тех продуктах, что уже есть в базе.
Подсказка
сделайте выборку реквизита Наименование из таблицы Справочник.Еда
сделайте упорядочивание (секция УПОРЯДОЧИТЬ ПО) по условному оператору выбора (ВЫБОР КОГДА), который возвращает длину реквизита Наименование, используя оператор ПОДОБНО
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
9.4 Напишите запрос, который выводит все реквизиты справочника Еда и их типы. По условию задачи - имена реквизитов нам известны, а типы - нет.
Подсказка
для каждого реквизита напишите выборку строки с именем реквизита и его тип (по имени, используя ТИПЗНАЧЕНИЯ) из таблицы Справочник.Еда
ограничьте результат выборки (ПЕРВЫЕ 1)
затем объедините все результаты выборок (секция ОЪЕДИНИТЬ ВСЕ)
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Для учеников
Уровень сложности уроков идёт снизу вверх. Поэтому старайтесь заниматься последовательно, ничего не пропуская и не откладывая на потом.
Обязательно выполняйте все тесты и домашние задания, старайтесь улучшить свои результаты. Сверяйтесь с эталонными решениями только после самостоятельного выполнения задач.